X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=cygwin%2Fmknetrel;h=41587c5b9e1c6f2436c7cd2a58ac3884342790a9;hb=c7ada6e2342a97f6eaf7e675369b4f3569e0a5d6;hp=36255076cd80051577fa4790e8a8d1dc6904aeec;hpb=31de5573a9c7e3a69b5ab67e2b0734ba88285b64;p=lilypond.git diff --git a/cygwin/mknetrel b/cygwin/mknetrel index 36255076cd..41587c5b9e 100644 --- a/cygwin/mknetrel +++ b/cygwin/mknetrel @@ -1,285 +1,125 @@ # -*- shell-script -*- +# cygwin/mknetrel - LilyPond mknetrel overrides -# stable LilyPond releases: lilypond-1.6 -# archive=ftp://lilypond.org/pub/LilyPond/v1.6 - -# LilyPond development: lilypond-1.7 -# archive=ftp://lilypond.org/pub/LilyPond/v1.7 - -# LilyPond mknetrel overrides -# To use this, do something like: +# This script should be used to package LilyPond for Cygwin. +# It can be used to build LilyPond on Cygwin, but also on GNU/Linux. +# +# See http://lilypond.org/web/devel/packaging.html for more information, +# report bugs to bug-lilypond@gnu.org. +# +# To build the package, do: cat >/dev/null < config.cache - -ac_cv_c_bigendian=${ac_cv_c_bigendian=no} -ac_cv_sizeof_char=${ac_cv_sizeof_char=1} -ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p=4} -ac_cv_sizeof_double=${ac_cv_sizeof_double=8} -ac_cv_sizeof_float=${ac_cv_sizeof_float=4} -ac_cv_sizeof_int=${ac_cv_sizeof_int=4} -ac_cv_sizeof_long=${ac_cv_sizeof_long=4} -ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=12} -ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} -ac_cv_sizeof_short=${ac_cv_sizeof_short=2} -ac_cv_sizeof_void_p=${ac_cv_sizeof_void_p=4} -ac_cv_c_long_size_t=${ac_cv_c_long_size_t=no} -ac_cv_c_long_time_t=${ac_cv_c_long_time_t=yes} -ac_16bit_type=${ac_16bit_type=short} -ac_32bit_type=${ac_32bit_type=int} -ac_64bit_type=${ac_64bit_type=none} -ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls=no} -ac_cv_sprintf_count=${ac_cv_sprintf_count=yes} -ac_cv_spinlocks=${ac_cv_spinlocks=no} -ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes} -ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no} -ac_cv_func_mkfifo=yes - -# Try at preventing to break make rules while crosscompiling. This -# used work, but nowadays ./configure thinks it knows better than me. - -# But what ./configure doesn't know, is that automake and libtool are -# broken wrt cross-building, and wrt cc_for_build. See new -# workarounds above. - -ac_exeext=${ac_exeext=} -ac_cv_exeext=${ac_cv_exeext=} -EOF -} - - - -# -# Subpackage stuff -- Maybe move to mknetrel -# - -# Possibly, using file-lists globs is smarter than separate install -# prefixes. We'll see what happens when packaging tetex-*. - - -lib_name () { - echo lib$base$sover -} - -devel_name () { - echo $base-devel -} - -doc_name () { - echo $base-doc -} +# copy and include extra mknetrel stuff +extras="doc patch auto cross split" +for i in $extras; do + f=mknetrel.$i + [ -r $extra/$f ] && cp -pv $extra/$f $src/cygwin/$f + . $src/cygwin/$f +done -lib_split () { - mkdir -p ./$prefix/bin || exit 1 - mv $inst/$prefix/bin/*.dll ./$prefix/bin - mkdir -p ./$prefix/lib || exit 1 - mv $inst/$prefix/lib/*.la ./$prefix/lib - mkdir -p ./$prefix/share || exit 1 - mv $inst/$prefix/share/$base ./$prefix/share - true -} - -devel_split () { - mkdir -p ./$prefix/bin || exit 1 - mv $inst/$prefix/include ./$prefix/include - mkdir -p ./$prefix/lib || exit 1 - mv $inst/$prefix/lib/*.a ./$prefix/lib - mkdir -p ./$prefix/share || exit 1 - mv $inst/$prefix/share/aclocal ./$prefix/share - true -} - -doc_split () { - mkdir -p ./$prefix || exit 1 - mv $inst/$prefix/info ./$prefix - true -} -prebuild () { - for i in $sub_packages; do - rm -rf $inst-$i - mkdir -p $inst-$i || exit 1 - done +needdevoflags () { + false } - -domkdist() { - # - # Fix up installation slightly - # - cd $inst || exit 1 - chmod -R a+w . - cd usr 2>/dev/null && dousrstuff - - - # Split off any sub-packages. The actual splitting is handled by - # a package's specific code in extra/. - - # To package `foo' in foo, foo-doc and foo-devel, set - # sub_packages='doc devel'. - # Then provide functions doc_name and devel_name, that return the - # full name of the sub-package. Also provide functions doc_split - # and devel_split, that mv part of foo's installation in $inst to - # the sub-packages' installation roots $inst-doc and $inst-devel. - - cd $inst || exit 1 - presplit +fix_libtool_script () { + cd $build || exit 1 - for i in $sub_packages; do - subname=$(${i}_name) - cd $inst-$i || exit 1 - ${i}_split || exit 1 - done + # Fix libtool's -rpath detection + export CC="${build_cc}" + export CXX="${build_cxx}" + export DLLTOOL=${build_dlltool} + export OBJDUMP=${build_objdump} + export AS="${build_as}" + export HOST_CC=/usr/bin/gcc + export allow_undefined="yes" + export allow_undefined_flag="" - # - # Make tar balls - # - - cd $inst || exit 1 - prepackage - - # The base package - echo creating $tarstem.tar.bz2 - cd $inst || exit 1 - - f=$src/cygwin/setup.hint && test -r $f && cp $f $uploads - f=$src/cygwin/$base.hint && test -r $f && cp $f $uploads/setup.hint - find * -print | sort | tar -T - --no-recursion -cjf $tarstem.tar.bz2 - - # Any sub-packages - for i in $sub_packages; do - subname=$(${i}_name) - subload=$uploads/$subname - subtarstem=$subload/$subname-$ver - mkdir -p $subload || exit 1 - echo creating $subtarstem.tar.bz2 - f=$src/cygwin/$subname.hint && test -r $f && cp $f $subload/setup.hint - cd $inst-$i - find * -print | sort | tar -T - --no-recursion -cjf $subtarstem.tar.bz2 + # fix libtool's dlltool usage + mv libtool libtool.orig + sed -e 's/^DLLTOOL="dlltool"/DLLTOOL="i686-cygwin-dlltool"/' \ + -e 's/^DLLTOOL=/HOST_CC=gcc\nDLLTOOL=/' \ + -e 's/^HOST_CC=/SED=sed\nHOST_CC=/' < libtool.orig > libtool + chmod +x libtool +} + +fix_libtool_la () { + # fix libtool's .la dependency_libs output for dlopen + for i in $inst/lib $inst/$prefix/lib ]; do + if [ -d $i ]; then + cd $i || exit 1 + for j in $(ls -1 *la); do + mv $j .libtool-$j + sed -e 's/ *-L *[^ ][^ ]*//g' .libtool-$j > $j + chmod +x $j + done + fi done - - # The source package - cd $src/.. || exit 1 - echo creating "$tarstem"-src.tar.bz2 - find $package_src/* -print -follow | egrep -v '\.cvsignore|\.bak$|\.orig$|\.o$|~$|^.#|CVS|%redact|/tags$' | egrep -v "$src_exclude" | sort | tar -T - --no-recursion -cjf "$tarstem"-src.tar.bz2 - postpackage } +preconfig () { -# end jcn - - - - -needdevoflags () { - return 1 -} - - -preconfig () { # aka libtool_woes () - - # Add to mknetrel? patchsrc + rm -f config.cache - ## autoupdate - - cd $build || exit 1 - - GUILE=1.6.0 - cat > guile-config < i686-cygwin-guile-config <