Ignore:
Timestamp:
2008-07-18T10:01:16+12:00 (16 years ago)
Author:
oranfry
Message:

the bulk of the work on the compile logic for mark2

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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>
Note: See TracChangeset for help on using the changeset viewer.