From e4adb7ba6fa13f2135f0538ab19c390df9c3ab4b Mon Sep 17 00:00:00 2001 From: janneke Date: Sat, 20 Sep 2003 12:12:19 +0000 Subject: [PATCH] cygwin mknetrel addons --- cygwin/mknetrel | 6 -- cygwin/mknetrel.auto | 21 +++++++ cygwin/mknetrel.cross | 47 ++++++++++++++++ cygwin/mknetrel.doc | 37 +++++++++++++ cygwin/mknetrel.patch | 18 ++++++ cygwin/mknetrel.split | 125 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 248 insertions(+), 6 deletions(-) create mode 100644 cygwin/mknetrel.auto create mode 100644 cygwin/mknetrel.cross create mode 100644 cygwin/mknetrel.doc create mode 100644 cygwin/mknetrel.patch create mode 100644 cygwin/mknetrel.split diff --git a/cygwin/mknetrel b/cygwin/mknetrel index 2665fa6c36..3e9b6e0551 100644 --- a/cygwin/mknetrel +++ b/cygwin/mknetrel @@ -37,12 +37,6 @@ if !iscygwin; then tarstem=$uploads/$package fi -# the files mknetrel.doc, mknetrel.patch, etc. can be had from the -# latest cygwin source, currently: -# -# http://lilypond.org/cygwin/uploads/lilypond/lilyond-1.8.2-1-src.tar.bz2 -# - # copy and include extra mknetrel stuff extras="doc patch auto cross split" for i in $extras; do diff --git a/cygwin/mknetrel.auto b/cygwin/mknetrel.auto new file mode 100644 index 0000000000..75875c74c6 --- /dev/null +++ b/cygwin/mknetrel.auto @@ -0,0 +1,21 @@ +# -*- shell-script -*- + +# +# mknetrel.split -- autotools +# + +autoupdate () { + for i in bootstrap autogen.sh; do + if [ -x ./$i ]; then + ./$i || exit 1 + return 0 + fi + done + + aclocal + rm -rf libltdl + libtoolize --force --copy --automake --ltdl + autoheader + autoconf + automake --add-missing +} diff --git a/cygwin/mknetrel.cross b/cygwin/mknetrel.cross new file mode 100644 index 0000000000..e002f44b25 --- /dev/null +++ b/cygwin/mknetrel.cross @@ -0,0 +1,47 @@ +# -*- shell-script -*- + +# +# mknetrel.cross -- set cross.cache for configure +# + +crosscache () { + cat < 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 +ac_cv_search_dlopen=\${ac_cv_search_dlopen="none required"} +ac_exeext=\${ac_exeext=} +ac_cv_exeext=\${ac_cv_exeext=} + +# libtool searches not only in the cross libpath +# /cygwin/usr/lib:/cygwin/usr/lib/w32api:/usr/i686-cygwin/lib +# but also in /usr/lib. there it finds libdl.a and adds -ldl +# to LIBS +# it seems that libtool is broken wrt cross compilation: +# sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" +lt_cv_dlopen=\${lt_cv_dlopen="dlopen"} +lt_cv_dlopen_libs=\${lt_cv_dlopen_libs="none required"} +ac_cv_lib_dld_shl_load=\${ac_cv_lib_dld_shl_load=no} +ac_cv_lib_dl_dlopen=\${ac_cv_lib_dl_dlopen=no} +EOF +} + diff --git a/cygwin/mknetrel.doc b/cygwin/mknetrel.doc new file mode 100644 index 0000000000..9c6622ba4c --- /dev/null +++ b/cygwin/mknetrel.doc @@ -0,0 +1,37 @@ +# -*- shell-script -*- + +# +# mknetrel.doc -- fixup doc +# + +if [ "$ABI" = "1.5" ]; then + docprefix=$prefix/share +else + docprefix=$prefix +fi + +docdir=$docprefix/doc + +cygdocdir=$docdir/Cygwin +infodir=$docprefix/info +mandir=$docprefix/man +packagedocdir=$docdir/$base-$ver + +if [ "$ABI" = "1.5" ]; then +fixdoc () { + # + cd $inst || exit 1 + mkdir -p $inst/$docprefix + for i in info man doc; do + #if [ -d $inst/$docprefix/$i ]; then + if [ -d $inst/$prefix/$i ]; then + cd $inst/$prefix + tar -cf - $i | tar -C $inst/$docprefix -xf - + rm -rf $inst/$prefix/$i + fi + done + true +} +else +fixdoc () { :; } +fi diff --git a/cygwin/mknetrel.patch b/cygwin/mknetrel.patch new file mode 100644 index 0000000000..31eed60f83 --- /dev/null +++ b/cygwin/mknetrel.patch @@ -0,0 +1,18 @@ +# -*- shell-script -*- + +# +# mknetrel.patch -- patch sources +# + +dopatchsrc () { + cd $src + cp -p $patch/$package.patch $src/cygwin/ + patch -p1 < $patch/$package.patch + [ -d cygwin -a ! -e CYGWIN-PATCHES ] && ln -s cygwin CYGWIN-PATCHES + [ -d CYGWIN-PATCHES -a ! -e cygwin ] && ln -s CYGWIN-PATCHES cygwin + [ -d CYGWIN-PATCHES ] || mkdir CYGWIN-PATCHES +} + +patchsrc () { + [ -r $patch/$package.patch -a ! -r $src/CYGWIN-PATCHES -a ! -r $src/cygwin ] && dopatchsrc +} diff --git a/cygwin/mknetrel.split b/cygwin/mknetrel.split new file mode 100644 index 0000000000..1506b3d9f2 --- /dev/null +++ b/cygwin/mknetrel.split @@ -0,0 +1,125 @@ +# -*- shell-script -*- + +# +# mknetrel.split -- split subpackages +# + +presplit () { true; } + +lib_name () { + echo lib$base$sover +} + +devel_name () { + echo $base-devel +} + +doc_name () { + echo $base-doc +} + +lib_split () { + mkdir -p ./$prefix/bin || exit 1 + mv $inst/$prefix/bin/*.dll ./$prefix/bin + # dlopen-able .la files go in BIN dir, lib package + mkdir -p ./$prefix/bin || exit 1 + mv $inst/$prefix/lib/lib*[0-9]*.la ./$prefix/bin + 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 + # link time .la files go in LIB dir devel package + mkdir -p ./$prefix/lib || exit 1 + mv $inst/$prefix/lib/*.la ./$prefix/lib + mkdir -p ./$prefix/share || exit 1 + mv $inst/$prefix/share/aclocal ./$prefix/share + true +} + +doc_split () { + mkdir -p ./$docprefix || exit 1 + mv $inst/$infodir ./$infodir + true +} + +prebuild () { + for i in $sub_packages; do + rm -rf $inst-$i + mkdir -p $inst-$i || exit 1 + done +} + +domkdist() { + # + # Fix up installation slightly + # + cd $inst || exit 1 + chmod -R u+w,og-w,a+rX . + 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 + + for i in $sub_packages; do + subname=$(${i}_name) + cd $inst-$i || exit 1 + ${i}_split || exit 1 + done + + cd $inst || exit 1 + prepackage + + cd $inst || exit 1 + hard2soft + + # + # Make tar balls + # + + # 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 --owner=0 --group=0 -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 + hard2soft + find * -print | sort | tar -T - --no-recursion --owner=0 --group=0 -cjf $subtarstem.tar.bz2 + 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 --owner=0 --group=0 -cjf "$tarstem"-src.tar.bz2 + postpackage +} + + + -- 2.39.5