guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cross building 1.9.14 for mingw


From: Jan Nieuwenhuizen
Subject: cross building 1.9.14 for mingw
Date: Sat, 29 Jan 2011 20:41:21 +0100

Hi,

To get guile-1.9.14 cross built for mingw, I re-updated gnulib
to include socket-related modules (starting with accept here)

    gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 
--doc-base=doc --tests-base=tests --aux-dir=build-aux --libtool 
--macro-prefix=gl --no-vc-files alignof alloca-opt announce-gen autobuild 
byteswap canonicalize-lgpl duplocale environ extensions flock fpieee full-read 
full-write func gendocs getaddrinfo git-version-gen gitlog-to-changelog 
gnu-web-doc-update gnupload havelib iconv_open-utf inet_ntop inet_pton isinf 
isnan lib-symbol-versions lib-symbol-visibility libunistring locale 
maintainer-makefile nproc putenv stat-time stdlib strcase strftime striconveh 
string sys_stat verify version-etc-fsf vsnprintf warnings     accept bind close 
connect getpeername getsockname getsockopt listen malloc malloca recv recv 
recvfrom send sendto setsockopt shutdown socket sockets

and used the attached patches.  Without this update you get things
like

    .libs/socket.o:socket.c:(.text+0xc72): undefined reference to 
`_accept_used_without_requesting_gnulib_module_accept'

when building for mingw.

The full cross build recipe is in GUB

    git://github.com/janneke/gub.git

in the guile-1.9 branch

    https://github.com/janneke/gub/blob/guile-1.9/gub/specs/guile.py

Of course, when cross building someone should verify that build and
host have the same endianess and word size.  This means that for
cross building on an x86_64 box, we'd probably need to build a 32-bits
guile too.

Another small gripe, this handy thing in configure.ac

    m4_esyscmd([build-aux/git-version-gen\
        .tarball-version\
        
's/^release_\([0-9][0-9]*\)-\([0-9][0-9]*\)-\([0-9][0-9]*\)/v\1.\2\.\3/g']),

makes it tricky to patch configure.ac when working from a tarball
release, I got 

    $ autoreconf
    Usage: build-aux/git-version-gen $srcdir/.tarball-version
    configure.ac:39: error: AC_INIT should be called with package and version 
arguments
    /home/janneke/vc/gub/target/tools/root/usr/share/aclocal-1.10/init.m4:26: 
AM_INIT_AUTOMAKE is expanded from...
    configure.ac:39: the top level
    autom4te: /home/janneke/vc/gub/target/tools/root/usr/bin/m4 failed with 
exit status: 1

esp. because the README talks about ./autogen.sh which does not exist.


Greetings,
Jan.

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

Attachment: 0001-Add-dynamic-relocation-support-default-off.patch
Description: Text Data

Attachment: 0002-Use-AC_CHECK_LIB-rather-than-AC_LIB_HAVE_LINKFLAGS.-.patch
Description: Text Data

Attachment: 0003-When-cross-building-run-GUILE_FOR_BUILD-instead-of-j.patch
Description: Text Data

Attachment: 0004-Mingw-compile-fixes.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]