* config.h changes comitted -- ./autogen.sh run required. @ 2003-03-26 0:12 Rob Browning 2003-03-26 0:40 ` Rob Browning ` (2 more replies) 0 siblings, 3 replies; 5+ messages in thread From: Rob Browning @ 2003-03-26 0:12 UTC (permalink / raw) I've just committed all my public/private scmconfig.h/config.h changes to CVS. Everyone will probably need to re-run ./autogen.sh. For more info see the diffs to NEWS, the ChangeLogs, and libguile/gen-scmconfig.c. There were a lot of changes (touched around 100 files), so I expect there may be some bugs that will need fixing. Among other things, many symbols that used to be defined in the public namespace have been made private. This includes all kinds of HAVE_FOO and SIZEOF_FOO definitions. Note also that we now guarantee that quite a few useful types will be always be defined and allow tests for a number of other optional ones. See NEWS for full information, but here is a list of some of what has been added: Guile always defines SCM_SIZEOF_CHAR SCM_SIZEOF_UNSIGNED_CHAR SCM_SIZEOF_SHORT SCM_SIZEOF_UNSIGNED_SHORT SCM_SIZEOF_LONG SCM_SIZEOF_UNSIGNED_LONG SCM_SIZEOF_INT SCM_SIZEOF_UNSIGNED_INT SCM_SIZEOF_LONG_LONG /* defined to 0 if type not available */ SCM_SIZEOF_UNSIGNED_LONG_LONG /* defined to 0 if type not available */ scm_t_int8 scm_t_uint8 scm_t_int16 scm_t_uint16 scm_t_int32 scm_t_uint32 Guile always defines SCM_HAVE_T_INT64 SCM_HAVE_T_UINT64 and when either of these are defined to 1, optionally defines scm_t_int64 scm_t_uint64 respectively. Guile always defines scm_t_timespec scm_t_ptrdiff SCM_SIZEOF_INTPTR_T /* defined to 0 if type not available */ SCM_SIZEOF_UINTPTR_T /* defined to 0 if type not available */ -- Rob Browning rlb @defaultvalue.org, @linuxdevel.com, and @debian.org Previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: config.h changes comitted -- ./autogen.sh run required. 2003-03-26 0:12 config.h changes comitted -- ./autogen.sh run required Rob Browning @ 2003-03-26 0:40 ` Rob Browning 2003-03-28 22:40 ` Kevin Ryde 2003-03-28 22:59 ` Kevin Ryde 2 siblings, 0 replies; 5+ messages in thread From: Rob Browning @ 2003-03-26 0:40 UTC (permalink / raw) s/comitted/committed/ ;> -- Rob Browning rlb @defaultvalue.org, @linuxdevel.com, and @debian.org Previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: config.h changes comitted -- ./autogen.sh run required. 2003-03-26 0:12 config.h changes comitted -- ./autogen.sh run required Rob Browning 2003-03-26 0:40 ` Rob Browning @ 2003-03-28 22:40 ` Kevin Ryde 2003-03-31 23:21 ` Rob Browning 2003-03-28 22:59 ` Kevin Ryde 2 siblings, 1 reply; 5+ messages in thread From: Kevin Ryde @ 2003-03-28 22:40 UTC (permalink / raw) [-- Attachment #1: Type: text/plain, Size: 108 bytes --] I think libguile/Makefile.am is using top_srcdir for config.h where it should use top_builddir, per below. [-- Attachment #2: libguile-Makefile.am.diff --] [-- Type: text/plain, Size: 382 bytes --] --- Makefile.am.~1.185.~ 2003-03-27 09:31:35.000000000 +1000 +++ Makefile.am 2003-03-29 08:33:34.000000000 +1000 @@ -47,7 +47,7 @@ $(COMPILE) -c -o $@ $<; \ fi -scmconfig.h: ${top_srcdir}/config.h gen-scmconfig +scmconfig.h: ${top_builddir}/config.h gen-scmconfig rm -f scmconfig.h.tmp cat $(srcdir)/scmconfig.h.top > scmconfig.h.tmp ./gen-scmconfig >> scmconfig.h.tmp [-- Attachment #3: Type: text/plain, Size: 142 bytes --] _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: config.h changes comitted -- ./autogen.sh run required. 2003-03-28 22:40 ` Kevin Ryde @ 2003-03-31 23:21 ` Rob Browning 0 siblings, 0 replies; 5+ messages in thread From: Rob Browning @ 2003-03-31 23:21 UTC (permalink / raw) Cc: guile-devel Kevin Ryde <user42@zip.com.au> writes: > I think libguile/Makefile.am is using top_srcdir for config.h where it > should use top_builddir, per below. OK, thanks -- changed in my tree -- will commit later. -- Rob Browning rlb @defaultvalue.org, @linuxdevel.com, and @debian.org Previously @cs.utexas.edu GPG starting 2002-11-03 = 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: config.h changes comitted -- ./autogen.sh run required. 2003-03-26 0:12 config.h changes comitted -- ./autogen.sh run required Rob Browning 2003-03-26 0:40 ` Rob Browning 2003-03-28 22:40 ` Kevin Ryde @ 2003-03-28 22:59 ` Kevin Ryde 2 siblings, 0 replies; 5+ messages in thread From: Kevin Ryde @ 2003-03-28 22:59 UTC (permalink / raw) I think libguile/Makefile.am ends up using plain $(CC) to link gen-scmconfig, rather than $(CC_FOR_BUILD). And $(OBJEXT) in the rule for gen-scmconfig.$(OBJEXT) will be the cross-compiler's objext I think. As a suggestion, it might be easier to make a rule for a combined compile and link, to keep right away from the $(CC) setups, gen-scmconfig$(EXEEXT_FOR_BUILD): gen-scmconfig.c ... $(CC_FOR_BUILD) `test -f 'gen-scmconfig.c' || echo '$(srcdir)/'\`gen-scmconfig.c -o gen-scmconfig$(EXEEXT_FOR_BUILD) If you're not planning to build on djgpp or mingw then $(EXEEXT_FOR_BUILD) can be dispensed with. I hit my head against some of this for gmp recently (in the next release it'll run some stuff on the build system). The couple of macros below might be of use for inspiration or consideration. (The CC_FOR_BUILD search below assumes that nothing particular in the way of types or sizes is needed from the build compiler, just a compiler that will create a working executable.) AC_ARG_VAR on CC_FOR_BUILD is a good idea, if nothing else. It shows the variable in configure --help, and preserves the value across re-configures. dnl GMP_PROG_CC_FOR_BUILD dnl --------------------- dnl Establish CC_FOR_BUILD, a C compiler for the build system. dnl dnl If CC_FOR_BUILD is set, it's used without testing, likewise the old dnl style HOST_CC, otherwise some likely candidates are tried, as per dnl configfsf.guess. AC_DEFUN(GMP_PROG_CC_FOR_BUILD, [AC_REQUIRE([AC_PROG_CC]) if test -n "$CC_FOR_BUILD"; then GMP_PROG_CC_FOR_BUILD_WORKS($CC_FOR_BUILD,, [AC_MSG_ERROR([Specified CC_FOR_BUILD doesn't seem to work])]) elif test -n "$HOST_CC"; then GMP_PROG_CC_FOR_BUILD_WORKS($HOST_CC, [CC_FOR_BUILD=$HOST_CC], [AC_MSG_ERROR([Specified HOST_CC doesn't seem to work])]) else for i in "$CC" "$CC $CFLAGS $CPPFLAGS" cc gcc c89 c99; do GMP_PROG_CC_FOR_BUILD_WORKS($i, [CC_FOR_BUILD=$i break]) done if test -z "$CC_FOR_BUILD"; then AC_MSG_ERROR([Cannot find a build system compiler]) fi fi AC_ARG_VAR(CC_FOR_BUILD,[build system C compiler]) AC_SUBST(CC_FOR_BUILD) ]) dnl GMP_PROG_CC_FOR_BUILD_WORKS(cc/cflags[,[action-if-good][,action-if-bad]]) dnl ------------------------------------------------------------------------- dnl See if the given cc/cflags works on the build system. dnl dnl It seems easiest to just use the default compiler output, rather than dnl figuring out the .exe or whatever at this stage. AC_DEFUN(GMP_PROG_CC_FOR_BUILD_WORKS, [AC_MSG_CHECKING([build system compiler $1]) rm -f conftest* a.out b.out a.exe a_out.exe cat >conftest.c <<EOF int main () { exit(0); } EOF gmp_compile="$1 conftest.c" cc_for_build_works=no if AC_TRY_EVAL(gmp_compile); then if (./a.out || ./b.out || ./a.exe || ./a_out.exe || ./conftest) >&AC_FD_CC 2>&1; then cc_for_build_works=yes fi fi rm -f conftest* a.out b.out a.exe a_out.exe AC_MSG_RESULT($cc_for_build_works) if test "$cc_for_build_works" = yes; then ifelse([$2],,:,[$2]) else ifelse([$3],,:,[$3]) fi ]) dnl GMP_PROG_EXEEXT_FOR_BUILD dnl ------------------------- dnl Determine EXEEXT_FOR_BUILD, the build system executable suffix. dnl dnl The idea is to find what "-o conftest$foo" will make it possible to run dnl the program with ./conftest. On Unix-like systems this is of course dnl nothing, for DOS it's ".exe", or for a strange RISC OS foreign file dnl system cross compile it can be ",ff8" apparently. Not sure if the dnl latter actually applies to a build-system executable, maybe it doesn't, dnl but it won't hurt to try. AC_DEFUN(GMP_PROG_EXEEXT_FOR_BUILD, [AC_REQUIRE([GMP_PROG_CC_FOR_BUILD]) AC_CACHE_CHECK([for build system executable suffix], gmp_cv_prog_exeext_for_build, [cat >conftest.c <<EOF int main () { exit (0); } EOF for i in .exe ,ff8 ""; do gmp_compile="$CC_FOR_BUILD conftest.c -o conftest$i" if AC_TRY_EVAL(gmp_compile); then if (./conftest) 2>&AC_FD_CC; then gmp_cv_prog_exeext_for_build=$i break fi fi done rm -f conftest* if test "${gmp_cv_prog_exeext_for_build+set}" != set; then AC_MSG_ERROR([Cannot determine executable suffix]) fi ]) AC_SUBST(EXEEXT_FOR_BUILD,$gmp_cv_prog_exeext_for_build) ]) _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-03-31 23:21 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-03-26 0:12 config.h changes comitted -- ./autogen.sh run required Rob Browning 2003-03-26 0:40 ` Rob Browning 2003-03-28 22:40 ` Kevin Ryde 2003-03-31 23:21 ` Rob Browning 2003-03-28 22:59 ` Kevin Ryde
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).