* Replace Gcc test from top level configure.in with one from
authorSam Hartman <hartmans@mit.edu>
Mon, 3 Jul 1995 01:46:55 +0000 (01:46 +0000)
committerSam Hartman <hartmans@mit.edu>
Mon, 3 Jul 1995 01:46:55 +0000 (01:46 +0000)
util/configure.in.

* Modify top level configure.in and util/makeshlib.sh so AIX can
build/use shared libs with Gcc.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6223 dc483132-0cff-0310-8789-dd5450dbe970

src/ChangeLog
src/configure.in
src/util/ChangeLog
src/util/configure.in
src/util/makeshlib.sh

index 3598cc829cff747a0d8a58dc454094f59db6d4c8..fbf0bc1f67a465e9f83820e78da958e4f2d3b1fd 100644 (file)
@@ -1,3 +1,10 @@
+Sun Jul  2 20:25:58 1995  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * configure.in: For paranoid GPL reasons, don't take the Gcc test
+        directly from the autoconf sources.  Instead, borrow my paraphrase
+        of this test from util/configure.in.  It's slightly cleaner
+        anyway.  Also, adjust AIX shared libs to work with Gcc.
+
 Sun Jul  2 04:40:50 1995  Tom Yu  <tlyu@lothlorien.MIT.EDU>
        * aclocal.m4 (_MAKE_SUBDIRS): Fixed so that error propogates
                upward if -[ik] not specified.
index 6b8870bb2e90b867ce588087904ce62e17e365d1..0bf33dc50738f72f95c83ad8560c91d9c1c6fa82 100644 (file)
@@ -6,18 +6,10 @@ dnl We cannot use the autoconf form as it is too generic and sets other
 dnl variables. This is only for the purpose of changing the link options.
 AC_MSG_CHECKING(whether we are using GNU C)
 AC_CACHE_VAL(krb5_cv_prog_gcc,
-[dnl The semicolon is to pacify NeXT's syntax-checking cpp.
-cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if ${CC-cc} -E conftest.c 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then
-  krb5_cv_prog_gcc=yes
-else
-  krb5_cv_prog_gcc=no
-fi
-rm -f conftest*
+[
+AC_EGREP_CPP(yes,[#ifdef __GNUC__
+yes;
+#endif],krb5_cv_prog_gcc=yes,krb5_cv_prog_gcc=no)
 ])dnl
 AC_MSG_RESULT($krb5_cv_prog_gcc)
 dnl
@@ -51,8 +43,13 @@ case $krb5_cv_host in
        krb5_cv_shlibs_ext=a
        krb5_cv_noshlibs_ext=do-not-make
        krb5_cv_shlibs_dir=
-       krb5_cv_shlibs_ldflag="-bex4:\$(BUILDTOP)/util/aix.bincmds"
+       if test $krb5_cv_prog_gcc = yes ; then
+     krb5_cv_shlibs_ldflag="-Xlinker -bex4:\$(BUILDTOP)/util/aix.bincmds"
+     krb5_cv_noshlibs_ldflag=
+else
+     krb5_cv_shlibs_ldflag="-bex4:\$(BUILDTOP)/util/aix.bincmds"
        krb5_cv_noshlibs_ldflag=
+fi
        krb5_cv_shlibs_sym_ufo=
        krb5_cv_shlibs_dirhead="-L"
        krb5_cv_exe_need_dirs=yes
index e94a43310207a4c5efc96c242cb6edb1d52a36ce..bbd20fea70eeff3d47dd195f501ed315d4b773c8 100644 (file)
@@ -1,3 +1,9 @@
+Sun Jul  2 20:42:45 1995  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * makeshlib.sh (ldflags): Adapt AIX case to work with Gcc.
+
+       * configure.in: Move Gcc test to top level configure.in.
+
 Fri Jun 23 19:11:20 1995  Sam Hartman  <hartmans@tardis.MIT.EDU>
 
        * configure.in: Add aix.bincmds as target on AIX.
index b5520236c2a10d692d3038708929eeeb3bb4b03f..3e042aed541a2d2b6a7af4e2c51b0c6386bda8da 100644 (file)
@@ -2,14 +2,11 @@ AC_INIT(configure.in)
 CONFIG_RULES
 AC_PROG_ARCHIVE
 AC_PROG_ARCHIVE_ADD
-AC_MSG_CHECKING(whether running Gcc)
-AC_EGREP_CPP(yes,[#ifdef __GNUC__
-yes;
-#endif],HAVE_GCC=yes,HAVE_GCC=)
-if test -n "$HAVE_GCC" ; then
-        AC_MSG_RESULT(yes)
-        else AC_MSG_RESULT(no)
-        fi
+if test $krb5_cv_prog_gcc = yes ; then
+     HAVE_GCC=yes
+     else HAVE_GCC=
+fi
+
 AC_SUBST(HAVE_GCC)
 HOST_TYPE=$krb5_cv_host
 AC_SUBST(HOST_TYPE)
index 729d7f2d3e1f29ec99e4b7c54d45bf361e14008b..4bc56bfc1383a5031538462f611b3c130869ef79 100644 (file)
@@ -38,8 +38,11 @@ ar cq $library $FILES || exit $?
        stat=$?
        if [ $stat -eq 0 ]
        then
-          ld -o shr.o $library -H512 -T512 -bM:SRE -lc $ldflags -bfilelist -bgcbypass:1 -bnodelcsect -x -bE:${library}.syms $libdirfl $liblist
-       stat=$?
+       if test $HAVE_GCC = "yes" ; then
+               $CC -o shr.o $library -nostartfiles -Xlinker -bgcbypass:1 -Xlinker -bfilelist -Xlinker -bM:SRE -Xlinker -bE:${library}.syms $ldflags $liblist $libdirfl
+               else ld -o shr.o $library -H512 -T512 -bM:SRE -lc $ldflags -bfilelist -bgcbypass:1 -bnodelcsect -x -bE:${library}.syms $libdirfl $liblist
+            fi
+ stat=$?
        if [ $stat -eq 0 ]
              then
              rm $library ${library}.syms