# Source of configuration for Tokyo Cabinet #================================================================ # Generic Settings #================================================================ # Package name AC_INIT(tokyocabinet, 1.2.5) # Package information MYLIBVER=3 MYLIBREV=6 MYFORMATVER="1.0" # Targets MYHEADERFILES="tcutil.h tchdb.h tcbdb.h tcadb.h" MYLIBRARYFILES="libtokyocabinet.a" MYLIBOBJFILES="tcutil.o tchdb.o tcbdb.o tcadb.o myconf.o" MYCOMMANDFILES="tcutest tcumttest tcucodec tchtest tchmttest tchmgr" MYCOMMANDFILES="$MYCOMMANDFILES tcbtest tcbmttest tcbmgr tcatest tcamgr" MYMAN1FILES="tcutest.1 tcumttest.1 tcucodec.1 tchtest.1 tchmttest.1 tchmgr.1" MYMAN1FILES="$MYMAN1FILES tcbtest.1 tcbmttest.1 tcbmgr.1 tcatest.1 tcamgr.1" MYMAN3FILES="tokyocabinet.3 tcutil.3 tcxstr.3 tclist.3 tcmap.3 tcmdb.3 tcmpool.3" MYMAN3FILES="$MYMAN3FILES tchdb.3 tcbdb.3 tcadb.3" MYDOCUMENTFILES="COPYING ChangeLog THANKS doc" MYPCFILES="tokyocabinet.pc" # Building flags MYCFLAGS="-std=c99 -Wall -fPIC -fsigned-char -O2" MYCPPFLAGS="-I. -I\$(INCLUDEDIR) -L$HOME/include -L/usr/local/include -DNDEBUG -D_GNU_SOURCE=1" MYLDFLAGS="-L. -L\$(LIBDIR) -L$HOME/lib -L/usr/local/lib" MYRUNPATH="\$(LIBDIR)" MYLDLIBPATHENV="LD_LIBRARY_PATH" MYPOSTCMD="true" # Building paths pathtmp="$PATH" PATH="$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin" PATH="$PATH:/usr/ccs/bin:/usr/ucb:/usr/xpg4/bin:/usr/xpg6/bin:$pathtmp" LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH" LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH" CPATH="$HOME/include:/usr/local/include:$CPATH" PKG_CONFIG_PATH="$HOME/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" export PATH LIBRARY_PATH LD_LIBRARY_PATH CPATH PKG_CONFIG_PATH #================================================================ # Options #================================================================ # Internal variables enables="" # Debug mode AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [build for debugging])) if test "$enable_debug" = "yes" then MYCFLAGS="-std=c99 -Wall -fPIC -pedantic -fsigned-char -g" MYCPPFLAGS="$MYCPPFLAGS -UNDEBUG" MYLDFLAGS="$MYLDFLAGS -static" enables="$enables (debug)" fi # Developping mode AC_ARG_ENABLE(devel, AC_HELP_STRING([--enable-devel], [build for development])) if test "$enable_devel" = "yes" then MYCFLAGS="-std=c99 -Wall -fPIC -pedantic -fsigned-char -g -O2 -pipe" MYCPPFLAGS="$MYCPPFLAGS -UNDEBUG" enables="$enables (devel)" fi # Profiling mode AC_ARG_ENABLE(profile, AC_HELP_STRING([--enable-profile], [build for profiling])) if test "$enable_profile" = "yes" then MYCFLAGS="-std=c99 -Wall -fPIC -pedantic -fsigned-char -g -pg -O2 -pipe" enables="$enables (profile)" fi # 64-bit offset mode AC_ARG_ENABLE(off64, AC_HELP_STRING([--enable-off64], [build with 64-bit file offset on 32-bit system])) if test "$enable_off64" = "yes" then MYCPPFLAGS="$MYCPPFLAGS -D_FILE_OFFSET_BITS=64" enables="$enables (off64)" fi # Fastest mode AC_ARG_ENABLE(fastest, AC_HELP_STRING([--enable-fastest], [build for fastest run])) if test "$enable_fastest" = "yes" then MYCFLAGS="-std=c99 -Wall -fPIC -pedantic -fsigned-char -O3" MYCFLAGS="$MYCFLAGS -fomit-frame-pointer -fforce-addr -minline-all-stringops" MYCPPFLAGS="$MYCPPFLAGS -D_MYFASTEST" enables="$enables (fastest)" fi # Swapping byte-orders mode AC_ARG_ENABLE(swab, AC_HELP_STRING([--enable-swab], [build for swapping byte-orders])) if test "$enable_swab" = "yes" then MYCPPFLAGS="$MYCPPFLAGS -D_MYSWAB" enables="$enables (swab)" fi # Micro yield mode AC_ARG_ENABLE(uyield, AC_HELP_STRING([--enable-uyield], [build for detecting race conditions])) if test "$enable_uyield" = "yes" then MYCPPFLAGS="$MYCPPFLAGS -D_MYMICROYIELD" enables="$enables (uyield)" fi # Disable ZLIB compression AC_ARG_ENABLE(zlib, AC_HELP_STRING([--disable-zlib], [build without ZLIB compression])) if test "$enable_zlib" = "no" then MYCPPFLAGS="$MYCPPFLAGS -D_MYNOZLIB" enables="$enables (no-zlib)" fi # Disable POSIX thread AC_ARG_ENABLE(pthread, AC_HELP_STRING([--disable-pthread], [build without POSIX thread support])) if test "$enable_pthread" = "no" then MYCPPFLAGS="$MYCPPFLAGS -D_MYNOPTHREAD" enables="$enables (no-pthread)" fi # Disable shared object AC_ARG_ENABLE(shared, AC_HELP_STRING([--disable-shared], [avoid to build shared libraries])) if test "$enable_shared" = "no" then enables="$enables (no-shared)" fi # Messages printf '#================================================================\n' printf '# Configuring Tokyo Cabinet version %s%s.\n' "$PACKAGE_VERSION" "$enables" printf '#================================================================\n' #================================================================ # Checking Commands and Libraries #================================================================ # C compiler AC_PROG_CC # Byte order AC_C_BIGENDIAN(MYCPPFLAGS="$MYCPPFLAGS -D_MYBIGEND") # Underlying libraries AC_CHECK_LIB(c, main) AC_CHECK_LIB(m, main) if test "$enable_pthread" != "no" then AC_CHECK_LIB(pthread, main) fi if test "$enable_zlib" != "no" then AC_CHECK_LIB(z, main) fi # Shared libraries if test "$enable_shared" != "no" && test "$enable_profile" != "yes" then if uname | grep Darwin >/dev/null then MYLIBRARYFILES="$MYLIBRARYFILES libtokyocabinet.$MYLIBVER.$MYLIBREV.0.dylib" MYLIBRARYFILES="$MYLIBRARYFILES libtokyocabinet.$MYLIBVER.dylib" MYLIBRARYFILES="$MYLIBRARYFILES libtokyocabinet.dylib" MYLDLIBPATHENV="DYLD_LIBRARY_PATH" else MYLIBRARYFILES="$MYLIBRARYFILES libtokyocabinet.so.$MYLIBVER.$MYLIBREV.0" MYLIBRARYFILES="$MYLIBRARYFILES libtokyocabinet.so.$MYLIBVER" MYLIBRARYFILES="$MYLIBRARYFILES libtokyocabinet.so" fi fi #================================================================ # Generic Settings #================================================================ # Export variables AC_SUBST(MYLIBVER) AC_SUBST(MYLIBREV) AC_SUBST(MYFORMATVER) AC_SUBST(MYHEADERFILES) AC_SUBST(MYLIBRARYFILES) AC_SUBST(MYLIBOBJFILES) AC_SUBST(MYCOMMANDFILES) AC_SUBST(MYMAN1FILES) AC_SUBST(MYMAN3FILES) AC_SUBST(MYDOCUMENTFILES) AC_SUBST(MYPCFILES) AC_SUBST(MYCFLAGS) AC_SUBST(MYCPPFLAGS) AC_SUBST(MYLDFLAGS) AC_SUBST(MYRUNPATH) AC_SUBST(MYLDLIBPATHENV) AC_SUBST(MYPOSTCMD) # Targets AC_OUTPUT(Makefile tokyocabinet.pc) # Messages printf '#================================================================\n' printf '# Ready to make.\n' printf '#================================================================\n' # END OF FILE