greenstone.org greenstone wiki greenstone trac planet greenstone

Changeset 16453

Show
Ignore:
Timestamp:
2008-07-18 10:01:16 (6 months ago)
Author:
oranfry
Message:

the bulk of the work on the compile logic for mark2

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • release-kits/mark2/ant-scripts/build.xml

    r16241 r16453  
    11<?xml version="1.0" encoding="utf-8" ?> 
    22<!-- 
    3                 ..........................................................  
     3                .......................................................... 
    44                June 2008 
    5                 Linux Release Kit for Greenstone2 (lirk2) 
     5                Mac Release Kit for Greenstone2 (mark2) 
    66                Oran Fry 
    77                .......................................................... 
    88--> 
    9 <project name="lirk2-build" default="lirk2"> 
     9<project name="mark2-build" default="mark2"> 
    1010 
    1111        <!-- CONSTANTS --> 
     
    1616 
    1717        <!-- for the benefit of the shared scripts, set release-kit home --> 
    18         <property name="rk.home" value="${lirk2.home}" /> 
     18        <property name="rk.home" value="${mark2.home}" /> 
    1919 
    2020        <!-- IMPORT OTHER ANT SCRIPTS --> 
     
    2626 
    2727        <!-- THE MAIN TARGET --> 
    28         <target name="lirk2" depends="init"> 
     28        <target name="mark2" depends="init"> 
    2929                <addressedcall target="compile"/> 
    3030                <addressedcall target="create-distribution"/> 
  • release-kits/mark2/ant-scripts/compile.xml

    r16294 r16453  
    11<?xml version="1.0" encoding="utf-8" ?> 
    2 <project name="lirk2-compile" default="compile"> 
     2<project name="mark2-compile" default="compile"> 
    33 
    44        <target name="compile"> 
     
    88                 
    99                <!-- configure --> 
    10                 <addressedcall target="add-static-to-configure-in"/> 
    11                 <addressedcall target="set-environment-in-packages-configure"/> 
    1210                <addressedcall target="run-configure"/> 
    13                 <addressedcall target="makefiles-add-static"/> 
     11                <addressedcall target="tweak-makefiles"/> 
    1412 
    1513                <!-- make --> 
    1614                <addressedcall target="run-make"/> 
    17                 <!-- <addressedcall target="fix-wget"/> upgraded wget, mightn't need to do this now --> 
    1815                <addressedcall target="run-make-install"/> 
    1916                <addressedcall target="copy-library-oai"/> 
     
    3532        </target> 
    3633 
    37         <target name="add-static-to-configure-in"> 
    38                 <if><bool><istrue value="${execute}"/></bool> 
    39                         <rsr file="${basedir}/gsdl/configure.in" pattern="^LDFLAGS=.*$" replacement="LDFLAGS=-static"/> 
    40                         <exec dir="${basedir}/gsdl" executable="autoconf" output="${basedir}/gsdl/configure"><arg value="configure.in"/></exec> 
    41                 </if> 
    42         </target> 
    43  
    44         <target name="set-environment-in-packages-configure"> 
    45                 <if><bool><istrue value="${execute}"/></bool> 
    46                         <rsr file="${basedir}/gsdl/packages/configure" pattern="^ENVIRONMENT=.*$" replacement="ENVIRONMENT=&quot;LDFLAGS=-static&quot;"/> 
    47                 </if> 
    48         </target> 
    49  
    5034        <target name="run-configure"> 
    5135                <if><bool><istrue value="${execute}"/></bool> 
    5236                        <exec dir="${basedir}/gsdl" executable="${basedir}/gsdl/configure"> 
    53                                 <env key="LDFLAGS" value="-static"/> 
     37                                <arg line="--with-gdbm=${mark2.home}/linux/gdbm-1.8.3"/> 
    5438                        </exec> 
    5539                </if> 
    5640        </target> 
    5741 
    58         <target name="makefiles-add-static"> 
     42        <target name="tweak-makefiles"> 
    5943                <if><bool><istrue value="${execute}"/></bool> 
    60                         <rsr file="${basedir}/gsdl/packages/wv/wv-gs/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static" /> 
    61                         <rsr file="${basedir}/gsdl/packages/xlhtml/xlhtml-0.4.9.0/xlhtml/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static" /> 
    62                         <rsr file="${basedir}/gsdl/packages/xlhtml/xlhtml-0.4.9.0/ppthtml/Makefile" pattern="^LDFLAGS =.*$" replacement="LDFLAGS = -static" /> 
    63                         <rsr file="${basedir}/gsdl/packages/rtftohtml/rtftohtml_src/Makefile" pattern="(-o rtftohtml.{2}EXEEXT.{1})" replacement="$1 -static" /> 
     44        <rsr file="${basedir}/gsdl/src/recpt/Makefile" pattern="^(LIBS =.*)-L${mark2.home}/linux/gdbm-1.8.3/lib -lgdbm(.*)$" replacement="$1${mark2.home}/linux/gdbm-1.8.3/lib/libgdbm.a$2" /> 
     45        <rsr file="${basedir}/gsdl/src/oaiservr/Makefile" pattern="^(LIBS =.*)-L${mark2.home}/linux/gdbm-1.8.3/lib -lgdbm(.*)$" replacement="$1${mark2.home}/linux/gdbm-1.8.3/lib/libgdbm.a$2" /> 
     46        <rsr file="${basedir}/gsdl/src/gdbmedit/db2txt/Makefile" pattern="^(LIBS =.*)-L${mark2.home}/linux/gdbm-1.8.3/lib -lgdbm(.*)$" replacement="$1${mark2.home}/linux/gdbm-1.8.3/lib/libgdbm.a$2" /> 
     47        <rsr file="${basedir}/gsdl/src/gdbmedit/txt2db/Makefile" pattern="^(LIBS =.*)-L${mark2.home}/linux/gdbm-1.8.3/lib -lgdbm(.*)$" replacement="$1${mark2.home}/linux/gdbm-1.8.3/lib/libgdbm.a$2" /> 
     48        <rsr file="${basedir}/gsdl/src/recpt/Makefile" pattern="^(LIBS =.*)-L(.)\(PACKAGES_DIR\)/expat/lib -lexpat(.*)$" replacement="$1$2(PACKAGES_DIR)/expat/lib/libexpat.a$3" /> 
     49        <rsr file="${basedir}/gsdl/src/oaiservr/Makefile" pattern="^(LIBS =.*)-L(.)\(PACKAGES_DIR\)/expat/lib -lexpat(.*)$" replacement="$1$2(PACKAGES_DIR)/expat/lib/libexpat.a$3" /> 
    6450                </if> 
    6551        </target> 
     
    7157        </target> 
    7258 
    73         <target name="fix-wget"> 
    74                 <if><bool><istrue value="${execute}"/></bool> 
    75                         <delete file="${basedir}/gsdl/packages/wget/wget-1.9/src/wget"/> 
    76                         <exec dir="${basedir}/gsdl/packages/wget/wget-1.9/src" executable="gcc"><arg line="-O2 -Wall -Wno-implicit -o wget cmpt.o connect.o convert.o cookies.o ftp.o ftp-basic.o ftp-ls.o ftp-opie.o hash.o headers.o host.o html-parse.o html-url.o http.o init.o log.o main.o gen-md5.o netrc.o progress.o rbuf.o recur.o res.o retr.o safe-ctype.o snprintf.o gen_sslfunc.o url.o utils.o version.o  -lssl -lcrypto -ldl -static"/></exec> 
    77                 </if> 
    78         </target> 
    79          
    80  
    8159        <target name="run-make-install"> 
    8260                <if><bool><istrue value="${execute}"/></bool> 
     
    8765        <target name="copy-library-oai"> 
    8866                <if><bool><istrue value="${execute}"/></bool> 
    89                         <exec executable="cp"><arg line="${basedir}/gsdl/cgi-bin/library ${basedir}/gsdl/bin/linux/library"/></exec> 
    90                         <exec executable="cp"><arg line="${basedir}/gsdl/cgi-bin/oaiserver ${basedir}/gsdl/bin/linux/oaiserver"/></exec> 
     67                        <exec executable="cp"><arg line="${basedir}/gsdl/cgi-bin/library ${basedir}/gsdl/bin/darwin/library"/></exec> 
     68                        <exec executable="cp"><arg line="${basedir}/gsdl/cgi-bin/oaiserver ${basedir}/gsdl/bin/darwin/oaiserver"/></exec> 
    9169                </if> 
    9270        </target> 
     
    9472        <target name="strip-execs"> 
    9573                <if><bool><istrue value="${execute}"/></bool> 
    96                         <exec dir="${basedir}/gsdl/bin/linux" executable="find"> 
    97                                 <arg line="! -name . -type f -maxdepth 1 -exec strip {} &#59;"/> 
     74                        <exec dir="${basedir}/gsdl/bin/darwin" executable="find"> 
     75                                <arg line=". ! -name . -type f -maxdepth 1 -exec strip {} &#59;"/> 
    9876                        </exec> 
    9977                </if> 
     
    10280        <target name="build-demo-collection"> 
    10381                <if><bool><istrue value="${execute}"/></bool> 
    104                         <exec dir="${basedir}/gsdl" executable="${lirk2.home}/resources/build-demo.sh"/> 
     82                        <exec dir="${basedir}/gsdl" executable="${mark2.home}/resources/build-demo.sh"/> 
    10583                </if> 
    10684        </target> 
    10785 
    108  
    109  
    11086</project> 
  • release-kits/mark2/ant-scripts/create-distribution.xml

    r16241 r16453  
    11<?xml version="1.0" encoding="utf-8" ?> 
    2 <project name="lirk2-create-distribution" default="create-distribution"> 
     2<project name="mark2-create-distribution" default="create-distribution"> 
    33 
    44 
     
    4747        <target name="dist-set-gli-version"> 
    4848                <if><bool><istrue value="${execute}"/></bool> 
    49                         <ant antfile="${lirk2.home}/ant-scripts/shared-ant-scripts/operations-on-gli.xml" dir="${basedir}/distributions/web/gli" target="set-version-numbers"/> 
     49                        <ant antfile="${mark2.home}/ant-scripts/shared-ant-scripts/operations-on-gli.xml" dir="${basedir}/distributions/web/gli" target="set-version-numbers"/> 
    5050                </if> 
    5151        </target> 
     
    7373                        <echo level="info">Dropping gsdl docs  into distribution</echo> 
    7474                        <copy todir="${basedir}/distributions/web" overwrite="true"> 
    75                                 <fileset dir="${lirk2.home}/greenstone2/docs"/> 
     75                                <fileset dir="${mark2.home}/greenstone2/docs"/> 
    7676                        </copy> 
    7777                </if> 
  • release-kits/mark2/ant-scripts/create-installer.xml

    r16278 r16453  
    11<?xml version="1.0" encoding="utf-8" ?> 
    2 <project name="lirk2-create-installer" default="create-installer"> 
     2<project name="mark2-create-installer" default="create-installer"> 
    33 
    44        <target name="create-installer"> 
     
    1212                        <echo>Getting things ready to compile the installer</echo> 
    1313                        <mkdir dir="${basedir}/installer/classes"/> 
    14                         <copy todir="${basedir}/installer" file="${lirk2.home}/installer/antinstall-config.xml" overwrite="true"/> 
    15                         <copy todir="${basedir}/installer" file="${lirk2.home}/installer/build.xml" overwrite="true"/> 
     14                        <copy todir="${basedir}/installer" file="${mark2.home}/installer/antinstall-config.xml" overwrite="true"/> 
     15                        <copy todir="${basedir}/installer" file="${mark2.home}/installer/build.xml" overwrite="true"/> 
    1616                        <copy todir="${basedir}/installer/classes" overwrite="true"> 
    17                                 <fileset dir="${lirk2.home}/greenstone2/installer-classes"/> 
    18                                 <fileset dir="${lirk2.home}/ant-scripts/tasks/orans" includes="RegexSearchReplace.class" /> 
     17                                <fileset dir="${mark2.home}/greenstone2/installer-classes"/> 
     18                                <fileset dir="${mark2.home}/ant-scripts/tasks/orans" includes="RegexSearchReplace.class" /> 
    1919                        </copy> 
    2020 
     
    3838 
    3939                        <!-- create the installer with java --> 
    40                         <installer file="${basedir}/installer/greenstone-${version}-linux-with-java.jar" 
     40                        <installer file="${basedir}/installer/Greenstone-${version}-MacOS-x86-with-java.jar" 
    4141                                        compress="true" 
    4242                                        extractType="NonExtractor" 
    4343                                        installConfig="${basedir}/installer/antinstall-config.xml" 
    4444                                        buildFile="${basedir}/installer/build.xml" 
    45                                         antInstallLib="${lirk2.home}/packages/ant-installer/lib" 
    46                                         antLib="${lirk2.home}/packages/ant/lib" 
     45                                        antInstallLib="${mark2.home}/packages/ant-installer/lib" 
     46                                        antLib="${mark2.home}/packages/ant/lib" 
    4747                                        validateConfig="true" 
    4848                                        failOnError="false" 
     
    5858 
    5959                        <!-- create the installer without java --> 
    60                         <installer file="${basedir}/installer/greenstone-${version}-linux.jar" 
     60                        <installer file="${basedir}/installer/Greenstone-${version}-MacOS-x86.jar" 
    6161                                        compress="true" 
    6262                                        extractType="NonExtractor" 
    6363                                        installConfig="${basedir}/installer/antinstall-config.xml" 
    6464                                        buildFile="${basedir}/installer/build.xml" 
    65                                         antInstallLib="${lirk2.home}/packages/ant-installer/lib" 
    66                                         antLib="${lirk2.home}/packages/ant/lib" 
     65                                        antInstallLib="${mark2.home}/packages/ant-installer/lib" 
     66                                        antLib="${mark2.home}/packages/ant/lib" 
    6767                                        validateConfig="true" 
    6868                                        failOnError="false" 
  • release-kits/mark2/ant-scripts/wrap.xml

    r16233 r16453  
    11<?xml version="1.0" encoding="utf-8" ?> 
    2 <project name="lirk2-wrap" default="wrap"> 
     2<project name="mark2-wrap" default="wrap"> 
    33 
    44        <target name="wrap"> 
    5                 <addressedcall target="setup-for-wrapping"/> 
    6                 <addressedcall target="compile-wrapper"/> 
    7         </target> 
    8  
    9  
    10         <target name="setup-for-wrapping"> 
    115                <if><bool><istrue value="${execute}"/></bool> 
    126 
    137                        <!-- create and setup the build directory --> 
    14                         <mkdir dir="${basedir}/wrapped-installer/build"/> 
    15                         <copy todir="${basedir}/wrapped-installer/build" file="${lirk2.home}/linux/wrapper.cpp"/> 
    16                         <copy todir="${basedir}/wrapped-installer/build" file="${lirk2.home}/packages/search4j/libsearch4j.cpp"/
    17                         <copy todir="${basedir}/wrapped-installer/build" file="${lirk2.home}/packages/search4j/libsearch4j.h"/> 
     8                        <delete dir="${basedir}/wrapped-installer"/> 
     9                        <mkdir dir="${basedir}/wrapped-installer"/> 
     10                        <copy todir="${basedir}/wrapped-installer/Greenstone${version}.app"><fileset dir="${mark2.home}/mac/Wrapper.app"/></copy
     11                        <chmod file="${basedir}/wrapped-installer/Greenstone${version}.app/Contents/MacOS/JavaApplicationStub" perm="ug+x"/> 
    1812 
    1913                        <!-- copy bundled files --> 
    20                         <copy todir="${basedir}/wrapped-installer/build" file="${lirk2.home}/linux/${linux-java.installer}"/> 
    21                         <copy tofile="${basedir}/wrapped-installer/build/greenstone2.jar" file="${basedir}/installer/greenstone-${version}-linux.jar"/> 
    22                         <copy tofile="${basedir}/wrapped-installer/build/greenstone2-with-java.jar" file="${basedir}/installer/greenstone-${version}-linux-with-java.jar"/> 
     14                        <!--<copy todir="${basedir}/wrapped-installer/Greenstone${version}.app/Contents/Resources/Java" file="${mark2.home}/linux/${linux-java.installer}"/>--> 
     15                        <copy todir="${basedir}/wrapped-installer/Greenstone${version}.app/Contents/Resources/Java" file="${basedir}/installer/Greenstone-${version}-MacOS-x86.jar"/> 
    2316 
    2417                        <!-- substitute in real values --> 
    25                         <rsr file="${basedir}/wrapped-installer/build/wrapper.cpp" pattern="@java.installer@" replacement="${linux-java.installer}"/> 
    26                         <rsr file="${basedir}/wrapped-installer/build/wrapper.cpp" pattern="@installer.name@" replacement="greenstone2"/> 
    27                         <rsr file="${basedir}/wrapped-installer/build/wrapper.cpp" pattern="@java.extracted@" replacement="${linux-java.extracted}"/> 
    28                         <rsr file="${basedir}/wrapped-installer/build/wrapper.cpp" pattern="@java.min.version@" replacement="${java.min.version}"/> 
     18                        <rsr file="${basedir}/wrapped-installer/Greenstone${version}.app/Contents/Info.plist" pattern="@jar@" replacement="Greenstone-${version}-MacOS-x86.jar"/> 
     19                        <rsr file="${basedir}/wrapped-installer/Greenstone${version}.app/Contents/Info.plist" pattern="@version@" replacement="${version}"/> 
    2920 
    30                 </if> 
    31         </target> 
     21                        <!-- get size of app --> 
     22                        <exec executable="du" dir="${basedir}/wrapped-installer" outputproperty="app.du"><arg line="-ks Greenstone${version}.app"/></exec> 
     23                        <echo>app.du: ${app.du}</echo> 
     24                        <exec executable="sed" inputstring="${app.du}" outputproperty="app.size"><arg line="-e 's/^\([0-9]*\).*$/\1/g'"/></exec> 
     25                        <echo>app.size: ${app.size}</echo> 
     26                        <math result="dmg.size" operand1="${app.size}" operation="+" operand2="2048" datatype="int"/> 
     27                        <echo>dmg.size: ${dmg.size}</echo> 
    3228 
    33         <target name="compile-wrapper"> 
    34                 <if><bool><istrue value="${execute}"/></bool> 
    35  
    36                         <echo level="info">create an object file (extension .o) for each file to bundle</echo> 
    37                         <exec executable="/usr/bin/objcopy" dir="${basedir}/wrapped-installer/build"> 
    38                                 <arg line="-I binary -O elf32-i386 -B i386 --redefine-sym _binary_greenstone2_jar_start=greenstone2jar --readonly-text greenstone2.jar greenstone2.jar.o"/> 
    39                         </exec> 
    40                         <exec executable="/usr/bin/objcopy" dir="${basedir}/wrapped-installer/build"> 
    41                                 <arg line="-I binary -O elf32-i386 -B i386 --redefine-sym _binary_greenstone2_with_java_jar_start=greenstone2jar --readonly-text greenstone2-with-java.jar greenstone2-with-java.jar.o"/> 
    42                         </exec> 
    43                         <exec executable="/usr/bin/objcopy" dir="${basedir}/wrapped-installer/build"> 
    44                                 <arg line="-I binary -O elf32-i386 -B i386 --redefine-sym _binary_${linux-java.installer}_start=java --readonly-text ${linux-java.installer} java.o"/> 
    45                         </exec> 
    46  
    47                         <!-- get size of greenstone.jar --> 
    48                         <exec executable="ls" dir="${basedir}/wrapped-installer/build" outputproperty="greenstone2.jar.ls"><arg line="-l greenstone2.jar"/></exec> 
    49                         <exec executable="sed" inputstring="${greenstone2.jar.ls}" outputproperty="greenstone2.jar.size"><arg line="-e 's/^[^\ ]*\ *[^\ ]*\ *[^\ ]*\ *[^\ ]*\ *\([0-9]*\).*$/\1/g'"/></exec> 
    50  
    51                         <!-- get size of greenstone-with-java.jar --> 
    52                         <exec executable="ls" dir="${basedir}/wrapped-installer/build" outputproperty="greenstone2-with-java.jar.ls"><arg line="-l greenstone2-with-java.jar"/></exec> 
    53                         <exec executable="sed" inputstring="${greenstone2-with-java.jar.ls}" outputproperty="greenstone2-with-java.jar.size"><arg line="-e 's/^[^\ ]*\ *[^\ ]*\ *[^\ ]*\ *[^\ ]*\ *\([0-9]*\).*$/\1/g'"/></exec> 
    54  
    55                         <!-- get size of java --> 
    56                         <exec executable="ls" dir="${basedir}/wrapped-installer/build" outputproperty="java.ls"><arg line="-l ${linux-java.installer}"/></exec> 
    57                         <exec executable="sed" inputstring="${java.ls}" outputproperty="java.size"><arg line="-e 's/^[^\ ]*\ *[^\ ]*\ *[^\ ]*\ *[^\ ]*\ *\([0-9]*\).*$/\1/g'"/></exec> 
    58  
    59                         <echo level="info">creating the header file for no java version</echo> 
    60                         <delete file="wrapper.h"/> 
    61                         <exec executable="echo" output="${basedir}/wrapped-installer/build/wrapper.h"><arg line="extern const char greenstone2jar[${greenstone2.jar.size}];"/></exec> 
    62  
    63                         <echo level="info">compile the wrapper program</echo> 
    64                         <exec executable="g++" dir="${basedir}/wrapped-installer/build"> 
    65                                 <arg line="-Wall -static -static-libgcc -c -o wrapper.o wrapper.cpp"/> 
    66                         </exec> 
    67  
    68                         <echo level="info">compile libsearch4j</echo> 
    69                         <exec executable="g++" dir="${basedir}/wrapped-installer/build"> 
    70                                 <arg line="-Wall -static -static-libgcc -c -o libsearch4j.o libsearch4j.cpp"/> 
    71                         </exec> 
    72  
    73                         <echo level="info">link, bundling the files to be bundled</echo> 
    74                         <exec executable="g++" dir="${basedir}/wrapped-installer/build"> 
    75                                 <arg line="-static -static-libgcc -o  ../greenstone-${version}-linux.bin wrapper.o libsearch4j.o greenstone2.jar.o"/> 
    76                         </exec> 
    77  
    78                         <echo level="info">creating the header file for bundled java version</echo> 
    79                         <delete file="wrapper.h"/> 
    80                         <exec executable="echo" output="${basedir}/wrapped-installer/build/wrapper.h"><arg line="extern const char greenstone2jar[${greenstone2-with-java.jar.size}];"/></exec> 
    81                         <exec executable="echo" output="${basedir}/wrapped-installer/build/wrapper.h" append="true"><arg line="extern const char java[${java.size}];"/></exec> 
    82                         <exec executable="echo" output="${basedir}/wrapped-installer/build/wrapper.h" append="true"><arg line="#define java_is_bundled yes"/></exec> 
    83  
    84                         <echo level="info">recompile the wrapper program</echo> 
    85                         <exec executable="g++" dir="${basedir}/wrapped-installer/build"> 
    86                                 <arg line="-Wall -static -static-libgcc -c -o wrapper.o wrapper.cpp"/> 
    87                         </exec> 
    88  
    89                         <echo level="info">relink, bundling the files to be bundled</echo> 
    90                         <exec executable="g++" dir="${basedir}/wrapped-installer/build"> 
    91                                 <arg line="-static -static-libgcc -o  ../greenstone-${version}-linux-with-java.bin wrapper.o libsearch4j.o greenstone2-with-java.jar.o java.o"/> 
    92                         </exec> 
    93  
     29                        <!-- create disk image --> 
     30                        <exec dir="${basedir}/wrapped-installer" executable="hdiutil"><arg line="create -size ${dmg.size}k -fs HFS+ -volname Greenstone${version} Greenstone${version}.dmg"/></exec> 
     31                        <!-- mount it --> 
     32                        <exec executable="hdiutil" dir="${basedir}/wrapped-installer"><arg line="attach Greenstone${version}.dmg"/></exec> 
     33                        <!-- copy file into it --> 
     34                        <exec executable="cp" dir="${basedir}/wrapped-installer"><arg line="-r Greenstone${version}.app /Volumes/Greenstone${version}"/></exec> 
     35                        <!-- unmount it--> 
     36                        <exec executable="hdiutil" dir="${basedir}/wrapped-installer"><arg line="detach /Volumes/Greenstone${version}"/></exec> 
    9437                </if> 
    9538        </target>