#! /bin/sh OS=`uname -s` DEBUG=0 PREFIX=/usr/local create_generic_config_h() { cat < src/config.h #ifndef _CONFIG_H #define _CONFIG_H #include #endif /* _CONFIG_H */ EOF } create_darwin_config_h() { cat < src/config.h #ifndef _CONFIG_H #define _CONFIG_H #include #define htobe16(n) OSSwapHostToBigInt16(n) #define htole16(n) OSSwapHostToLittleInt16(n) #define be16toh(n) OSSwapBigToHostInt16(n) #define le16toh(n) OSSwapLittleToHostInt16(n) #define htobe32(n) OSSwapHostToBigInt32(n) #define htole32(n) OSSwapHostToLittleInt32(n) #define be32toh(n) OSSwapBigToHostInt32(n) #define le32toh(n) OSSwapLittleToHostInt32(n) #define htobe64(n) OSSwapHostToBigInt64(n) #define htole64(n) OSSwapHostToLittleInt64(n) #define be64toh(n) OSSwapBigToHostInt64(n) #define le64toh(n) OSSwapLittleToHostInt64(n) #endif /* _CONFIG_H */ EOF } create_common_build_mk() { if [ "$DEBUG" = 1 ]; then cat <<'EOF' > mk/build.mk CGFLAGS = -g -fno-inline EOF else cat <<'EOF' > mk/build.mk CGFLAGS = EOF fi cat <<'EOF' >> mk/build.mk CWFLAGS = -Wall COFLAGS = -O2 CFLAGS = $(CGFLAGS) $(CWFLAGS) $(COFLAGS) EOF } create_generic_build_mk() { create_common_build_mk $@ cat <<'EOF' >> mk/build.mk LLFLAGS = -shared -Wl,-soname=$(SONAME) STATIC = lib$(LIBNAME).a SONAME_SHORT = lib$(LIBNAME).so SONAME = $(SONAME_SHORT).$(VERSION_MAJOR) SONAME_FULL = $(SONAME_SHORT).$(VERSION) EOF cat <> mk/build.mk PREFIX = $PREFIX EOF } create_darwin_build_mk() { create_common_build_mk $@ cat <<'EOF' >> mk/build.mk LLFLAGS = -dynamiclib -current_version $(VERSION) STATIC = lib$(LIBNAME).a SONAME_SHORT = lib$(LIBNAME).dylib SONAME = lib$(LIBNAME).$(VERSION_MAJOR).dylib SONAME_FULL = lib$(LIBNAME).$(VERSION).dylib EOF cat <> mk/build.mk PREFIX = $PREFIX EOF } for arg in $@; do case $arg in "--enable-debug") DEBUG=1 ;; esac done if [ ! -d "mk" ]; then mkdir -m 0755 mk fi case $OS in Darwin) create_darwin_config_h create_darwin_build_mk ;; *) create_generic_config_h create_generic_build_mk ;; esac