diff --git a/builds/posix/prefix.solaris b/builds/posix/prefix.solaris index d56d181f3a..bc69e856e8 100644 --- a/builds/posix/prefix.solaris +++ b/builds/posix/prefix.solaris @@ -28,18 +28,26 @@ LOCAL_CFLAGS=@CFLAGS@ LOCAL_CPPFLAGS=@CPPFLAGS@ LOCAL_LDFLAGS=@LDFLAGS@ +# don't clear cflags here as some module makefiles set it (BOOTBUILD) before this +# file is included but not all so cflags get duplicated when compiling some modules + # if we keep sfio this needs to be set by configure (or move in to extern directory) # must use full sfio not stdio emulation to get file handle number fix -SFIO_DIR=$(SRC)/../../../sfio/sfio_2002 -SFIO_FLAGS= -DSFIO -I$(SFIO_DIR)/include -SFIO_LDFLAGS= -L$(SFIO)/lib +#SFIO_DIR=$(SRC)/../../../sfio/sfio_2002 +#SFIO_DIR=/data01/fb-dev/sfio/sfio_2002 +#SFIO_FLAGS= -DSFIO -I$(SFIO_DIR)/include +#SFIO_LDFLAGS= -L$(SFIO)/lib +#these come from configure --with-sfio=/path/to/sfio +SFIO_DIR=@SFIO_DIR@ +SFIO_FLAGS=@SFIO_FLAGS@ +SFIO_LDFLAGS=@SFIO_LDFLAGS@ -PROD_FLAGS= $(CFLAGS_COMMON) $(COMMON_GCC_CFLAGS) $(PROD_GCC_FLAGS) $(LOCAL_CFLAGS) \ - $(SFIO_FLAGS) +PROD_FLAGS= $(CFLAGS_COMMON) $(SFIO_FLAGS) $(COMMON_GCC_CFLAGS) $(PROD_GCC_FLAGS) \ + $(LOCAL_CFLAGS) -DEV_FLAGS= $(CFLAGS_COMMON) $(COMMON_GCC_CFLAGS) $(DEBUG_GCC_FLAGS) $(LOCAL_CFLAGS) \ - $(SFIO_FLAGS) +DEV_FLAGS= $(CFLAGS_COMMON) $(SFIO_FLAGS) $(COMMON_GCC_CFLAGS) $(DEBUG_GCC_FLAGS) \ + $(LOCAL_CFLAGS) # extra modules needed on this platform during bootstrap phase JRDBOOT_Extra_Files=isc_sync.cpp thd.cpp diff --git a/configure.in b/configure.in index a7de60ff16..058a0a37ac 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -dnl $Id: configure.in,v 1.106 2002-12-29 14:15:50 nmcc Exp $ +dnl $Id: configure.in,v 1.107 2002-12-31 18:15:14 nmcc Exp $ dnl ############################# INITIALISATION ############################### @@ -296,11 +296,11 @@ if test "$EDITLINE_FLG" = "Y"; then AC_SUBST(EDITLINE_A, -ledit) fi AC_CHECK_LIB(stdc++, main,,, $LIBS) -AC_CHECK_LIB(sfio, main,,, $LIBS) dnl Solaris only + dnl kkuznetsov: Solaris always check for -lnsl if test "$PLATFORM" = "solx86" -o "$PLATFORM" = "SOLARIS"; then AC_CHECK_LIB(nsl, gethostname, XE_APPEND(-lnsl,LIBS)) - AC_CHECK_LIB(thread, main) + AC_CHECK_LIB(thread, main) fi @@ -430,10 +430,25 @@ case "$PLATFORM" in AC_CHECK_FILES(/proc/self/exe) ;; - solx86) - # kkuznetsov: this still not worked. Why knows why? - AC_DEFINE(GPRECOMMON_Files) - AC_SUBST(GPRECOMMON_Files, " thd.cpp ") + [SOLARIS|solx86]) + + AC_ARG_WITH(sfio, + AC_HELP_STRING([--with-sfio=PATH],[use sfio (replacement stdio on Solaris) (default=no)]), + [ac_cv_use_sfio=$withval],[ac_cv_use_sfio=no]) + + if test "$ac_cv_use_sfio" = "no"; then + SFIO_DIR="" + SFIO_FLAGS="" + SFIO_LDFLAGS="" + else + AC_CHECK_LIB(sfio-mt, main,, + AC_MSG_ERROR([sfio library not found]),-lvthread) + XE_PREPEND(-lvthread,LIBS) + + SFIO_DIR="$ac_cv_use_sfio" + SFIO_FLAGS="-DSFIO -I$ac_cv_use_sfio/include" + SFIO_LDFLAGS="-L$ac_cv_use_sfio/lib" + fi ;; win32) @@ -466,6 +481,9 @@ AC_SUBST(FIREBIRD_LIBGDS_SO) AC_SUBST(FIREBIRD_LIBGDS_SO_LNK) AC_SUBST(FIREBIRD_LIBGDS_SO_X_LNK) +AC_SUBST(SFIO_DIR) +AC_SUBST(SFIO_FLAGS) +AC_SUBST(SFIO_LDFLAGS) AC_SUBST(FIREBIRD_VERSION) AC_SUBST(FIREBIRD_PACKAGE_VERSION)