delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2001/08/15/21:54:54

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-developers-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com
Message-ID: <3B7B2581.9090904@ece.gatech.edu>
Date: Wed, 15 Aug 2001 21:44:33 -0400
From: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010713
X-Accept-Language: en-us
MIME-Version: 1.0
To: Charles Wilson <cwilson AT ece DOT gatech DOT edu>
CC: cygwin-developers AT cygwin DOT com
Subject: Re: Does CVS build?
References: <20010815132450 DOT A1468 AT dothill DOT com> <3B7AEC05 DOT 7FBF0C8C AT yahoo DOT com> <20010815155157 DOT B20199 AT redhat DOT com> <20010815162916 DOT A28118 AT redhat DOT com> <20010815171031 DOT A29030 AT redhat DOT com> <3B7AE8D7 DOT 7050508 AT ece DOT gatech DOT edu> <3B7AFEF9 DOT 8070400 AT ece DOT gatech DOT edu>

This is a multi-part message in MIME format.
--------------050904080800010303090901
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Charles Wilson wrote:

> Well, I've come up with a patch that seems to work when you autoconf 
> libiberty with autoconf-2.52 and takes care to remain compatible with 
> 2.13.  (Compiling the dll is successful, too).  Unfortunately, I can't 
> do a 'cvs diff' since sourceware is hammered right now (load average of 
> 159).
> 
> I'll try again after dinner.


Earnie, can you confirm that after this patch is applied, you can 
autoconf and build cgywin?  (Note, it includes Chris's earlier patch)

--Chuck


--------------050904080800010303090901
Content-Type: text/plain;
 name="libiberty.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="libiberty.patch"

Index: aclocal.m4
===================================================================
RCS file: /cvs/src/src/libiberty/aclocal.m4,v
retrieving revision 1.4
diff -u -r1.4 aclocal.m4
--- aclocal.m4	2001/03/06 18:27:14	1.4
+++ aclocal.m4	2001/08/15 18:39:34
@@ -1,3 +1,33 @@
+dnl forward compatibility macros: make autoconf 2.13 look like 2.50
+ifdef([AC_PROG_CC_WORKS],
+      [define([MY_CC_WORKS],[AC_PROG_CC_WORKS])dnl
+define([MY_CC_GNU],[AC_PROG_CC_GNU])dnl
+define([MY_CXX_WORKS],[AC_PROG_CXX_WORKS])dnl
+define([MY_CXX_GNU],[AC_PROG_CXX_GNU])dnl
+],
+      [define([MY_CC_WORKS],
+              [AC_LANG_PUSH(C)dnl
+_AC_COMPILER_EXEEXT
+_AC_COMPILER_OBJEXT
+AC_LANG_POP()])dnl
+define([MY_CC_GNU],
+       [AC_LANG_PUSH(C)dnl
+_AC_LANG_COMPILER_GNU
+AC_LANG_POP()])dnl
+define([MY_CXX_WORKS],
+       [AC_LANG_PUSH(C++)dnl
+_AC_COMPILER_EXEEXT
+_AC_COMPILER_OBJEXT
+AC_LANG_POP()])dnl
+define([MY_CXX_GNU],
+       [AC_LANG_PUSH(C++)dnl
+_AC_LANG_COMPILER_GNU
+AC_LANG_POP()])dnl
+])
+ifdef([_AC_PROG_CC_G],[],
+      [AC_DEFUN([_AC_PROG_CC_G],[AC_PROG_CC_G])])
+ifdef([_AC_PROG_CXX_G],[],
+      [AC_DEFUN([_AC_PROG_CCX_G],[AC_PROG_CCX_G])])
 dnl See whether strncmp reads past the end of its string parameters.
 dnl On some versions of SunOS4 at least, strncmp reads a word at a time
 dnl but erroneously reads past the end of strings.  This can cause
@@ -99,7 +129,7 @@
   test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
 fi
 
-AC_PROG_CC_GNU
+_AC_LANG_COMPILER_GNU
 
 if test $ac_cv_prog_gcc = yes; then
   GCC=yes
@@ -110,7 +140,7 @@
   ac_test_CFLAGS="${CFLAGS+set}"
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
-  AC_PROG_CC_G
+  _AC_PROG_CC_G
   if test "$ac_test_CFLAGS" = set; then
     CFLAGS="$ac_save_CFLAGS"
   elif test $ac_cv_prog_cc_g = yes; then
Index: configure.in
===================================================================
RCS file: /cvs/src/src/libiberty/configure.in,v
retrieving revision 1.13
diff -u -r1.13 configure.in
--- configure.in	2001/07/05 17:29:17	1.13
+++ configure.in	2001/08/15 18:39:42
@@ -177,8 +177,10 @@
     # Of the functions in $checkfuncs, newlib only has strerror.
     AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
 
-    setobjs=yes
-
+    case "$host" in
+	*-*-cygwin*) ;;
+	*) setobjs=yes ;;
+    esac
   fi
 
 else
@@ -221,13 +223,6 @@
     setobjs=yes
     ;;
 
-  esac
-fi
-
-if test -z "${setobjs}"; then
-
-  case "${host}" in
-
   *-*-cygwin*)
     # The Cygwin library actually uses a couple of files from
     # libiberty when it is built.  If we are building a native
@@ -247,6 +242,31 @@
       funcs="`echo $funcs | sed -e 's/random//'`"
       LIBOBJS="$LIBOBJS random.o"
       vars="`echo $vars | sed -e 's/sys_siglist//'`"
+      # Newer cygwins define sys_errlist and sys_nerr.
+      # We have a chicken/egg situation here, though.  How do we know that
+      # the toolchain being built contains a newer cygwin?
+      # The code below checks for the existence of sys_errlist in the
+      # winsup/cygwin/cygwin.din file.  The assumption is that you are going
+      # to be building a dll which contains this global.
+      # If this is not found then check if the export is in the library
+      # that is used by GCC.  Define the appropriate libiberty_cv_var variables
+      # if so.
+      if test -z "$libiberty_cv_var_sys_errlist"
+      then
+	  eval `sed -n -e 's/^sys_errlist.*/libiberty_cv_var_sys_errlist=yes/p' \
+		       -e 's/^sys_nerr .*/libiberty_cv_var_sys_nerr=yes/p' \
+		    "$srcdir/../winsup/cygwin/cygwin.din" 2>/dev/null`
+	  if test -z "$libiberty_cv_var_sys_errlist"
+	  then
+	      for v in sys_errlist sys_nerr; do
+		  AC_TRY_LINK([int *p;], [extern int _imp__$v; p = &_imp__$v;],
+			       [eval "libiberty_cv_var_$v=yes"],
+			       [eval "libiberty_cv_var_$v=no"])
+	      done
+	  fi
+      fi
+      test -z "$libiberty_cv_var_sys_errlist" && libiberty_cv_var_sys_errlist=no
+      test -z "$libiberty_cv_var_sys_nerr" && libiberty_cv_var_sys_nerr=no
       checkfuncs="`echo $checkfuncs | sed -e 's/strsignal//' -e 's/psignal//'`"
     fi
     ;;
@@ -274,7 +294,7 @@
 
   # We haven't set the list of objects yet.  Use the standard autoconf
   # tests.  This will only work if the compiler works.
-  AC_PROG_CC_WORKS
+  MY_CC_WORKS
   AC_REPLACE_FUNCS($funcs)
   libiberty_AC_FUNC_C_ALLOCA
   AC_FUNC_VFORK

--------------050904080800010303090901--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright 2019   by DJ Delorie     Updated Jul 2019