* Guile 1.8 success on `i386-apple-darwin9.6.0' @ 2009-03-26 17:08 Ludovic Courtès 2009-03-26 18:34 ` Ludovic Courtès 0 siblings, 1 reply; 12+ messages in thread From: Ludovic Courtès @ 2009-03-26 17:08 UTC (permalink / raw) To: guile-devel Hello, For the record, I successfully tested a recent `branch_release-1-8' snapshot on `i386-apple-darwin9.6.0' (Mac OS X "Leopard"). The only quirk was the linker complaining when creating libguile: libtool: link: gcc -dynamiclib -o .libs/libguile.17.dylib .libs/libguile_la-alist.o .libs/libguile_la-arbiters.o .libs/libguile_la-async.o .libs/libguile_la-backtrace.o .libs/libguile_la-boolean.o .libs/libguile_la-chars.o .libs/libguile_la-continuations.o .libs/libguile_la-convert.o .libs/libguile_la-debug.o .libs/libguile_la-deprecation.o .libs/libguile_la-deprecated.o .libs/libguile_la-discouraged.o .libs/libguile_la-dynwind.o .libs/libguile_la-environments.o .libs/libguile_la-eq.o .libs/libguile_la-error.o .libs/libguile_la-eval.o .libs/libguile_la-evalext.o .libs/libguile_la-extensions.o .libs/libguile_la-feature.o .libs/libguile_la-fluids.o .libs/libguile_la-fports.o .libs/libguile_la-futures.o .libs/libguile_la-gc.o .libs/libguile_la-gc-mark.o .libs/libguile_la-gc-segment.o .libs/libguile_la-gc-malloc.o .libs/libguile_la-gc-card.o .libs/libguile_la-gc-freelist.o .libs/libguile_la-gc_os_dep.o .libs/libguile_la-gdbint.o .libs/libguile_la-gh_data.o .libs/libguile_la-gh_eval.o .libs/libguile_la-gh_funcs.o .libs/libguile_la-gh_init.o .libs/libguile_la-gh_io.o .libs/libguile_la-gh_list.o .libs/libguile_la-gh_predicates.o .libs/libguile_la-goops.o .libs/libguile_la-gsubr.o .libs/libguile_la-guardians.o .libs/libguile_la-hash.o .libs/libguile_la-hashtab.o .libs/libguile_la-hooks.o .libs/libguile_la-i18n.o .libs/libguile_la-init.o .libs/libguile_la-inline.o .libs/libguile_la-ioext.o .libs/libguile_la-keywords.o .libs/libguile_la-lang.o .libs/libguile_la-list.o .libs/libguile_la-load.o .libs/libguile_la-macros.o .libs/libguile_la-mallocs.o .libs/libguile_la-modules.o .libs/libguile_la-numbers.o .libs/libguile_la-objects.o .libs/libguile_la-objprop.o .libs/libguile_la-options.o .libs/libguile_la-pairs.o .libs/libguile_la-ports.o .libs/libguile_la-print.o .libs/libguile_la-procprop.o .libs/libguile_la-procs.o .libs/libguile_la-properties.o .libs/libguile_la-random.o .libs/libguile_la-rdelim.o .libs/libguile_la-read.o .libs/libguile_la-root.o .libs/libguile_la-rw.o .libs/libguile_la-scmsigs.o .libs/libguile_la-script.o .libs/libguile_la-simpos.o .libs/libguile_la-smob.o .libs/libguile_la-sort.o .libs/libguile_la-srcprop.o .libs/libguile_la-stackchk.o .libs/libguile_la-stacks.o .libs/libguile_la-stime.o .libs/libguile_la-strings.o .libs/libguile_la-srfi-4.o .libs/libguile_la-srfi-13.o .libs/libguile_la-srfi-14.o .libs/libguile_la-strorder.o .libs/libguile_la-strports.o .libs/libguile_la-struct.o .libs/libguile_la-symbols.o .libs/libguile_la-threads.o .libs/libguile_la-null-threads.o .libs/libguile_la-throw.o .libs/libguile_la-values.o .libs/libguile_la-variable.o .libs/libguile_la-vectors.o .libs/libguile_la-version.o .libs/libguile_la-vports.o .libs/libguile_la-weaks.o .libs/libguile_la-ramap.o .libs/libguile_la-unif.o .libs/dynl.o .libs/filesys.o .libs/posix.o .libs/net_db.o .libs/socket.o .libs/regex-posix.o -lgmp -lm -lltdl -install_name /var/root/soft/lib/libguile.17.dylib -compatibility_version 21 -current_version 21.0 -Wl,-single_module ld warning: codegen in ___gmpn_popcount (offset 0x00000007) prevents image from loading in dyld shared cache ld warning: codegen in ___gmpn_popcount (offset 0x0000000E) prevents image from loading in dyld shared cache ld warning: codegen in ___gmpn_popcount (offset 0x00000015) prevents image from loading in dyld shared cache ld warning: codegen in ___gmpn_hamdist (offset 0x00000007) prevents image from loading in dyld shared cache ld warning: codegen in ___gmpn_hamdist (offset 0x0000000E) prevents image from loading in dyld shared cache ld warning: codegen in ___gmpn_hamdist (offset 0x00000015) prevents image from loading in dyld shared cache ld: absolute addressing (perhaps -mdynamic-no-pic) used in ___gmpn_add_n from /usr/local/lib/libgmp.a(add_n.o) not allowed in slidable image. Use '-read_only_relocs suppress' to enable text relocs collect2: ld returned 1 exit status This was easily solved by following ld's advice: make LDFLAGS='-Wl,-read_only_relocs -Wl,suppress' The compiler was Apple's GCC: # gcc --version i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5488) Copyright (C) 2005 Free Software Foundation, Inc. Thanks, Ludo'. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-26 17:08 Guile 1.8 success on `i386-apple-darwin9.6.0' Ludovic Courtès @ 2009-03-26 18:34 ` Ludovic Courtès 2009-03-26 21:10 ` Neil Jerram 0 siblings, 1 reply; 12+ messages in thread From: Ludovic Courtès @ 2009-03-26 18:34 UTC (permalink / raw) To: guile-devel The good news is that `master' also builds and tests fine on this platform with these two patches: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=6cc323e2ff4e555d58e115032016a50ef15a1948 http://git.savannah.gnu.org/cgit/guile.git/commit/?id=7ca96180f00800414a9cf855e5ca4dceb9baca07 (The calibrated stack limit on this machine is 45771, i.e., slightly more than on GNU/Linux.) However, this was with `--disable-error-on-warning' because of a problem with GCC's visibility attribute: ../../libguile/async.c: In function 'scm_i_setup_sleep': ../../libguile/async.c:277: warning: internal and protected visibility attributes not supported in this configuration; ignored We can't use Gnulib's `visiblity' module to fix that because the attribute appears in public headers, which are potentially processed by compilers other than the one that built Guile. One possibility would be to move internal things in internal headers that are not installed, but it's annoying. Some "#ifdef" magic would be best, but I don't know of any such tricks. Ideas? Thanks, Ludo'. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-26 18:34 ` Ludovic Courtès @ 2009-03-26 21:10 ` Neil Jerram 2009-03-26 21:36 ` Ludovic Courtès 0 siblings, 1 reply; 12+ messages in thread From: Neil Jerram @ 2009-03-26 21:10 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel ludo@gnu.org (Ludovic Courtès) writes: > The good news is that `master' also builds and tests fine on this > platform with these two patches: Indeed. Following the fixes that we did for MacOS earlier in the 1.8.x series, it's good to know that something else hasn't regressed. > http://git.savannah.gnu.org/cgit/guile.git/commit/?id=6cc323e2ff4e555d58e115032016a50ef15a1948 > > http://git.savannah.gnu.org/cgit/guile.git/commit/?id=7ca96180f00800414a9cf855e5ca4dceb9baca07 I'm not sure about moving stack-limit-calibration.scm from TESTS to BUILT_SOURCES. The point of putting it in TESTS was to help with cross-compiling. When cross-compiling, my understanding is that `make' should be run in a build host environment, and `make check' in a target host environment. stack-limit-calibration.scm should be calculated in the target host environment, so it makes better sense to do it as part of `make check' than as part of `make'. > (The calibrated stack limit on this machine is 45771, i.e., slightly > more than on GNU/Linux.) Isn't that 2.5 times more? (i.e. not "slightly" :-)) I believe the GNU/Linux limit is 20000. > However, this was with `--disable-error-on-warning' because of a problem > with GCC's visibility attribute: > > ../../libguile/async.c: In function 'scm_i_setup_sleep': > ../../libguile/async.c:277: warning: internal and protected visibility attributes not supported in this configuration; ignored > > We can't use Gnulib's `visiblity' module to fix that because the > attribute appears in public headers, which are potentially processed by > compilers other than the one that built Guile. > > One possibility would be to move internal things in internal headers > that are not installed, but it's annoying. Some "#ifdef" magic would be > best, but I don't know of any such tricks. Ideas? Moving internal things into non-installed headers feels like the best thing to me. Regards, Neil ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-26 21:10 ` Neil Jerram @ 2009-03-26 21:36 ` Ludovic Courtès 2009-03-26 22:21 ` Neil Jerram 2009-03-27 13:48 ` Greg Troxel 0 siblings, 2 replies; 12+ messages in thread From: Ludovic Courtès @ 2009-03-26 21:36 UTC (permalink / raw) To: guile-devel Hi Neil, Neil Jerram <neil@ossau.uklinux.net> writes: > I'm not sure about moving stack-limit-calibration.scm from TESTS to > BUILT_SOURCES. The point of putting it in TESTS was to help with > cross-compiling. When cross-compiling, my understanding is that > `make' should be run in a build host environment, and `make check' in > a target host environment. stack-limit-calibration.scm should be > calculated in the target host environment, so it makes better sense to > do it as part of `make check' than as part of `make'. Hmm, right. OTOH, my impression was that tools like Scratchbox had taken the world over, meaning that cross-compilation usually takes place as "native" compilation in an emulated target environment. The thing is that `stack-limit-calibration.scm' is really needed in cases like this. Maybe we could detect in `configure' whether we are cross-compiling and conditionalize build of `stack-limit-calibration.scm' on that? >> (The calibrated stack limit on this machine is 45771, i.e., slightly >> more than on GNU/Linux.) > > Isn't that 2.5 times more? (i.e. not "slightly" :-)) I believe the > GNU/Linux limit is 20000. It's been 40000 since commit 32c8ae20. > Moving internal things into non-installed headers feels like the best > thing to me. There are internal declarations in essentially every `.h' (88 files). Presumably we'd have to put them in a single `.h' rather than creating 88 new headers. The drawback is that declarations would thus live in a header whose name does not match the name of files where the definitions occur. Thanks, Ludo'. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-26 21:36 ` Ludovic Courtès @ 2009-03-26 22:21 ` Neil Jerram 2009-03-27 8:58 ` Ludovic Courtès 2009-03-27 13:48 ` Greg Troxel 1 sibling, 1 reply; 12+ messages in thread From: Neil Jerram @ 2009-03-26 22:21 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel ludo@gnu.org (Ludovic Courtès) writes: > Hi Neil, Hi again! > Neil Jerram <neil@ossau.uklinux.net> writes: > >> I'm not sure about moving stack-limit-calibration.scm from TESTS to >> BUILT_SOURCES. The point of putting it in TESTS was to help with >> cross-compiling. When cross-compiling, my understanding is that >> `make' should be run in a build host environment, and `make check' in >> a target host environment. stack-limit-calibration.scm should be >> calculated in the target host environment, so it makes better sense to >> do it as part of `make check' than as part of `make'. > > Hmm, right. OTOH, my impression was that tools like Scratchbox had > taken the world over, meaning that cross-compilation usually takes place > as "native" compilation in an emulated target environment. Ah, OK. If you feel fairly confident about that, I'm happy to defer to you on this; I don't really understand cross-compiling that well, but I think what you say is consistent with the scratchbox builds that I've done. > The thing is that `stack-limit-calibration.scm' is really needed in > cases like this. That is pretty compelling! > Maybe we could detect in `configure' whether we are > cross-compiling and conditionalize build of > `stack-limit-calibration.scm' on that? No, that sounds too tricky. I'm persuaded now that your change is good. Just one nit: I think there's now only 1 piece of Automake magic being relied on, so you could update that text (in Makefile.am) and remove the "2. ". >>> (The calibrated stack limit on this machine is 45771, i.e., slightly >>> more than on GNU/Linux.) >> >> Isn't that 2.5 times more? (i.e. not "slightly" :-)) I believe the >> GNU/Linux limit is 20000. > > It's been 40000 since commit 32c8ae20. Ah, OK, didn't notice that; thanks. >> Moving internal things into non-installed headers feels like the best >> thing to me. > > There are internal declarations in essentially every `.h' (88 files). > Presumably we'd have to put them in a single `.h' rather than creating > 88 new headers. The drawback is that declarations would thus live in a > header whose name does not match the name of files where the definitions > occur. I agree that that wouldn't be nice. But how about: - preserving all the installed header names as they are now (even though we could maybe make a case for only preserving "libguile.h") - splitting individual headers one-by-one, only when we have a need to do so: - public header name xyz.h (unchanged) - private header name _xyz.h - the private header #includes the public header - in libguile/*.c, globally replace "xyz.h" with "_xyz.h". That feels nice enough to me. What do you think? Regards, Neil ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-26 22:21 ` Neil Jerram @ 2009-03-27 8:58 ` Ludovic Courtès 2009-03-27 20:14 ` Neil Jerram 0 siblings, 1 reply; 12+ messages in thread From: Ludovic Courtès @ 2009-03-27 8:58 UTC (permalink / raw) To: guile-devel Good morning! Neil Jerram <neil@ossau.uklinux.net> writes: > ludo@gnu.org (Ludovic Courtès) writes: >> Maybe we could detect in `configure' whether we are >> cross-compiling and conditionalize build of >> `stack-limit-calibration.scm' on that? > > No, that sounds too tricky. I'm persuaded now that your change is > good. Alright. > Just one nit: I think there's now only 1 piece of Automake magic being > relied on, so you could update that text (in Makefile.am) and remove > the "2. ". Right, I did this: http://git.savannah.gnu.org/cgit/guile.git/commit/?id=0fe95f9c4ce063781e79a15bc123c57c33ef9755 >> There are internal declarations in essentially every `.h' (88 files). >> Presumably we'd have to put them in a single `.h' rather than creating >> 88 new headers. The drawback is that declarations would thus live in a >> header whose name does not match the name of files where the definitions >> occur. > > I agree that that wouldn't be nice. But how about: > > - preserving all the installed header names as they are now (even > though we could maybe make a case for only preserving "libguile.h") > > - splitting individual headers one-by-one, only when we have a need to > do so: > > - public header name xyz.h (unchanged) > > - private header name _xyz.h So IIUC you're advocating the creation of 88 new header files, right? To me it looks like it would way too much overhead, especially since each private header would contain few declarations. > - the private header #includes the public header > > - in libguile/*.c, globally replace "xyz.h" with "_xyz.h". > > That feels nice enough to me. What do you think? I think I'd prefer the single-private-header option, but I'm not 100% convinced either. Actually there's yet another option: enclose internal declarations in "#ifdef LIBGUILE_IN_LIBGUILE" or similar, which we only define when compiling Guile itself. This is what Glibc does with, e.g., `__LIBC_INTERNAL_MATH_INLINES' and what GMP does with `__GMP_WITHIN_GMP'. I think I like it better. Thanks, Ludo'. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-27 8:58 ` Ludovic Courtès @ 2009-03-27 20:14 ` Neil Jerram 0 siblings, 0 replies; 12+ messages in thread From: Neil Jerram @ 2009-03-27 20:14 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel ludo@gnu.org (Ludovic Courtès) writes: > Good morning! Hello again! >> Just one nit: I think there's now only 1 piece of Automake magic being >> relied on, so you could update that text (in Makefile.am) and remove >> the "2. ". > > Right, I did this: > > http://git.savannah.gnu.org/cgit/guile.git/commit/?id=0fe95f9c4ce063781e79a15bc123c57c33ef9755 Thanks, that looks good. > So IIUC you're advocating the creation of 88 new header files, right? Potentially, yes. :-) > I think I'd prefer the single-private-header option, but I'm not 100% > convinced either. > > Actually there's yet another option: enclose internal declarations in > "#ifdef LIBGUILE_IN_LIBGUILE" or similar, which we only define when > compiling Guile itself. This is what Glibc does with, e.g., > `__LIBC_INTERNAL_MATH_INLINES' and what GMP does with > `__GMP_WITHIN_GMP'. I think I like it better. That sounds fine to me too - so I guess we should choose this approach. Although I would find "LIBGUILE_INTERNAL" more intuitive than "LIBGUILE_IN_LIBGUILE". Regards, Neil ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-26 21:36 ` Ludovic Courtès 2009-03-26 22:21 ` Neil Jerram @ 2009-03-27 13:48 ` Greg Troxel 2009-03-27 14:54 ` Ludovic Courtès 1 sibling, 1 reply; 12+ messages in thread From: Greg Troxel @ 2009-03-27 13:48 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel [-- Attachment #1: Type: text/plain, Size: 797 bytes --] ludo@gnu.org (Ludovic Courtès) writes: > Hmm, right. OTOH, my impression was that tools like Scratchbox had > taken the world over, meaning that cross-compilation usually takes place > as "native" compilation in an emulated target environment. I don't think that's true at all. It could be that for running Linux on arm pdas that's what most people do, but for the far more general case there is normal cross compiling as autoconf has supported for years. I am working on a project that does cross builds of a lot of software; none of it uses scratchbox. I can certainly see the point of something like scratchbox, to ease the process and work around software that has non-cross-clean build systems. But I wouldn't say it's time to give up on the normal/traditional way. [-- Attachment #2: Type: application/pgp-signature, Size: 193 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-27 13:48 ` Greg Troxel @ 2009-03-27 14:54 ` Ludovic Courtès 2009-03-27 18:34 ` Greg Troxel 0 siblings, 1 reply; 12+ messages in thread From: Ludovic Courtès @ 2009-03-27 14:54 UTC (permalink / raw) To: guile-devel Hi Greg, Greg Troxel <gdt@ir.bbn.com> writes: > I don't think that's true at all. It could be that for running Linux on > arm pdas that's what most people do, but for the far more general case > there is normal cross compiling as autoconf has supported for years. > > I am working on a project that does cross builds of a lot of software; > none of it uses scratchbox. You may well have more experience than I have. > I can certainly see the point of something like scratchbox, to ease the > process and work around software that has non-cross-clean build systems. > But I wouldn't say it's time to give up on the normal/traditional way. How would you handle this particular case in a "cross-clean" way? The problem is that we need a Guile to compile the compiler. I think it's not unusual to use just-built binaries to produce some intermediate source files, especially in the area of interpreters and compilers. How do others handle it? IIRC GCC stage N uses `xgcc' from stage N-1 in the non-cross case. How does it work in the cross-compilation case? Thanks, Ludo'. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Guile 1.8 success on `i386-apple-darwin9.6.0' 2009-03-27 14:54 ` Ludovic Courtès @ 2009-03-27 18:34 ` Greg Troxel 2009-03-31 16:10 ` Dealing with cross-compilation Ludovic Courtès 0 siblings, 1 reply; 12+ messages in thread From: Greg Troxel @ 2009-03-27 18:34 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel [-- Attachment #1: Type: text/plain, Size: 3861 bytes --] ludo@gnu.org (Ludovic Courtès) writes: > Hi Greg, > > Greg Troxel <gdt@ir.bbn.com> writes: > >> I don't think that's true at all. It could be that for running Linux on >> arm pdas that's what most people do, but for the far more general case >> there is normal cross compiling as autoconf has supported for years. >> >> I am working on a project that does cross builds of a lot of software; >> none of it uses scratchbox. > > You may well have more experience than I have. Or maybe just different... I don't really understand the compiler. >> I can certainly see the point of something like scratchbox, to ease the >> process and work around software that has non-cross-clean build systems. >> But I wouldn't say it's time to give up on the normal/traditional way. > > How would you handle this particular case in a "cross-clean" way? The > problem is that we need a Guile to compile the compiler. Do we just need a (reasonable) guile, or do we need to run the target just-built guile itself? I saw some discussion about finding stack offsets, and that's perhaps different. I will use the terms 'host' and 'target' to describe the system one is doing the build on, and the the system that the resulting guile runs on. autoconf would call this 'build' and 'host'; 'host' refers to the machine for which a compiler is built, and target to what the compiler outputs. But we aren't really building a compiler in that sense, maybe. > I think it's not unusual to use just-built binaries to produce some > intermediate source files, especially in the area of interpreters and > compilers. How do others handle it? Yes, this is normal. I'll point out that some of my experience comes From the netbsd build system (to build the OS), and that experience affects my opinions. In NetBSD, basically all builds are cross, even if host==target, in that the host toolchain is used to build the NetBSD toolchain with the desired target, and then that is used to compile the system. One can build for other architectures, and from different host platforms in the same way. One of the things that has to be worked out to make a cross system function is the notion of 'host tool', which is a program that is compiled for the host. An example from netbsd is the time zone compiler, which shows up as nbzic in tools/bin. There's only one such binary even if you build for sparc64, i386, and alpha on an amd64 host. There are three compilers, though; each runs on amd64 and produces separate output. > IIRC GCC stage N uses `xgcc' from stage N-1 in the non-cross case. How > does it work in the cross-compilation case? There's a separate bootstrapping problem for compilers, which I think is about building gcc with host cc, and then building gcc with gcc, so that you get a gcc-compiled binary in the end. With cross, I think you have to build a gcc with target=host and then use that to build gcc with target=target, but I'm not sure. So, building guile probably needs either to build guile as a host tool if host != target, preferably in an objdir, and then that can be used. take a --with-guile that points to a working host guile, and people doing cross builds will have to build guile first. This is not really all that differnet from having to build a cross gcc first, and would be ok with me (as a cross user - my system doesn't have guile, but if it worked that way it would be fine). This can be the default behavior if autoconf's build and host (my host and target) differ. I suppose the host=target case can use the same guile as the tool and the output, because the compiler is additional to the interpreter. If people use scratchbox, then the build is apparently not cross, even if the gcc that is invoked is cross. So this shouldn't hurt. [-- Attachment #2: Type: application/pgp-signature, Size: 193 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Dealing with cross-compilation 2009-03-27 18:34 ` Greg Troxel @ 2009-03-31 16:10 ` Ludovic Courtès 2009-03-31 19:04 ` Andy Wingo 0 siblings, 1 reply; 12+ messages in thread From: Ludovic Courtès @ 2009-03-31 16:10 UTC (permalink / raw) To: guile-devel Hi, Greg Troxel <gdt@ir.bbn.com> writes: > So, building guile probably needs either to build guile as a host tool > > if host != target, preferably in an objdir, and then that can be used. > > take a --with-guile that points to a working host guile, and people > doing cross builds will have to build guile first. Right, we could use an already installed Guile 1.8/1.9 when cross-compiling. That means we have to make sure the compiler can run on top of 1.8. I think this is currently the case. Andy? Ludo'. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Dealing with cross-compilation 2009-03-31 16:10 ` Dealing with cross-compilation Ludovic Courtès @ 2009-03-31 19:04 ` Andy Wingo 0 siblings, 0 replies; 12+ messages in thread From: Andy Wingo @ 2009-03-31 19:04 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guile-devel Hi, On Tue 31 Mar 2009 09:10, ludo@gnu.org (Ludovic Courtès) writes: > Greg Troxel <gdt@ir.bbn.com> writes: > >> So, building guile probably needs either to build guile as a host tool >> >> if host != target, preferably in an objdir, and then that can be used. >> >> take a --with-guile that points to a working host guile, and people >> doing cross builds will have to build guile first. > > Right, we could use an already installed Guile 1.8/1.9 when > cross-compiling. That means we have to make sure the compiler can run > on top of 1.8. I think this is currently the case. Andy? The compiler won't work on 1.8, I don't think. But you could install a 1.9 on the host, and that would work -- modulo some endianness issues that would need to be sorted out for a host guilec to be able to cross-compile to the target. Andy -- http://wingolog.org/ ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-03-31 19:04 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-03-26 17:08 Guile 1.8 success on `i386-apple-darwin9.6.0' Ludovic Courtès 2009-03-26 18:34 ` Ludovic Courtès 2009-03-26 21:10 ` Neil Jerram 2009-03-26 21:36 ` Ludovic Courtès 2009-03-26 22:21 ` Neil Jerram 2009-03-27 8:58 ` Ludovic Courtès 2009-03-27 20:14 ` Neil Jerram 2009-03-27 13:48 ` Greg Troxel 2009-03-27 14:54 ` Ludovic Courtès 2009-03-27 18:34 ` Greg Troxel 2009-03-31 16:10 ` Dealing with cross-compilation Ludovic Courtès 2009-03-31 19:04 ` Andy Wingo
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).