Index: build_template.html =================================================================== RCS file: /cvs/www/www/styles/build_template.html,v retrieving revision 1.36 diff -u -r1.36 build_template.html --- build_template.html 10 Mar 2003 16:59:45 -0000 1.36 +++ build_template.html 31 Mar 2003 18:02:37 -0000 @@ -36,9 +36,15 @@

In this example, the script winenv.bat is executed in the directory -D:\my\source under a 4NT shell. Unless stated otherwise, all commands -appearing in this document should be entered from a 4NT shell (the exception -is the configure script which has to be run from a cygwin bash shell). +D:\my\source under a 4NT shell. +Depending on if you want to use the 4NT or the Cygwin tcsh environment, unless +stated otherwise, all commands appearing in this document should be entered from +a 4NT shell or a tcsh shell, respectively. (The exception +is the configure script which has to be run from a cygwin bash shell.) +

+(The Cygwin tcsh environment is experimental, and can be used starting with +cws_srx644_ooo20030412.) +

$SRC_ROOT will denote the directory in which the source code @@ -178,11 +184,10 @@

  • Run the - LinuxIntelEnv.SetSolarisSparcEnv.Setwinenv.bat (under 4NT) script to set all environment variables. + LinuxIntelEnv.SetSolarisSparcEnv.Setwinenv.bat (under 4NT) or winenv.set (under tcsh) script to set all environment variables.
  • - + The following point is only used for the tcsh environment, and not needed when using 4NT:
  • Create the build tools using bootstrap.
  • -
  • Build typing dmake in $SRC_ROOT, or build -all in the instsetoo module, or build followed by deliver in the individual @@ -366,7 +371,12 @@ -

    Build Requirements

    +Starting with cws_srx644_ooo20030412 there are two possible ways of building +OpenOffice.org for Windows. The standard way using the proprietary 4NT +shell and the new unixy way using the cygwin tcsh. Each of both methods +has its own Build Requirements section. + +

    Build Requirements - 4NT

    + +

    Build Requirements - tcsh

    + +

    +

    @@ -676,37 +768,38 @@ Environment and Build Tools - + +As mentioned above there are now two build systems for Windows, the standard +way using the proprietary 4NT shell and the new unixy way using the cygwin +tcsh. Each of both methods has its own Build Requirements section. +

    +Even if you want to use a non-open source shell to build on a computer running a Win32 +operating system, the 4NT command shell, the +Cygwin bash shell is needed to run +the configure script which generates the build environment. +

    +To use the new tcsh environment you have to use --with-use-shell=tcsh +as command line switch to the configure script.

    You use the configure script to generate the build environment. The configure script checks that all software, hardware, and system requirements for the build are satisfied, and it creates a -configuration file called +configuration file called LinuxIntelEnv.Set -SolarisSparcEnv.Set +SolarisSparcEnv.Set +winenv.bat (4NT environement) or winenv.set (tcsh environement). + that you then run the source command on to set all necessary build environment variables. -

    -Ideally, in keeping with the principles of open source, you would use an open -source shell to build on a computer running a Win32 operating system. -However, this is not possible at present (though we're working on it!). You -must use a non-open source shell to build on a computer running a Win32 -operating system: the 4NT command shell.

    -

    -On the other hand, the Cygnus bash shell is needed to run -the configure script which generates the build environment. The -configure script checks that all software, hardware, and system -requirements for the build are satisfied, and it creates a configuration file -called winenv.bat that you then execute to set all necessary -build environment variables. We demonstrate a sample run below. - - +In the 4NT case you have to start winenv.bat in your 4NT-shell to set the +environment variables, in the tcsh case you have to run the source +command on winenv.set

    This configuration file will be moved into the SRC_ROOT directory. -A top-level makefile script makefile.mk and the -script bootstrap in the config-office directory +A top-level makefile script makefile.mk and the +script bootstrap in the config-office directory will be moved into SRC_ROOT as well. This is due to technical reasons: The SRC_ROOT directory in the cvs tree can only hold directories. On the other hand, the top-level makefile.mk should logically be @@ -757,27 +850,16 @@

    The following should demonstrate in detail what steps have to be done to -set up the environment: - -

      -
    • -

      - Run the configure script according to the following example. We - assume here that - +set up the environment. First for the 4NT case and in a second example +for the tcsh case. +

      +For both examples we assume that

        -
      • the source code is in C:\oo643B
      • - your STLport files are stored in C:\STLport-4.0 - (only in case you use your own STLport installation. If you - don't have this, or just don't care, the version provided in - the source code will be build) -
      • -
      • JDK 1.3.1 is installed in C:\jdk1.3.1
      • @@ -794,11 +876,13 @@
      • and your zip.exe and unzip.exe are in C:\unzip +
        The tcsh example uses the Cygwin zip. No extra zip needed.
      • -
      -

      +

        +

        4NT - Example

        + Running the configure script could then look like the following (bold typed text is what you enter): @@ -806,10 +890,10 @@ (open a cygwin bash shell)
        - cd //c/oo643B/config_office (old cygwin b-20 tools) or
        - /cygdrive/c/oo643B/config_office (new cygwin tools - we stay -with that notation for the rest of this example)
        - bash configure --with-stlport4-home=/cygdrive/c/STLport-4.0 + cd /cygdrive/c/oo643B/config_office (new cygwin tools) or
        + cd //c/oo643B/config_office (old cygwin b20 tools, deprecated) +

        + ./configure --with-cl-home=/cygdrive/c/PROGRA~1/MICROS~3/VC98 --with-asm-home=/cygdrive/c/ml --with-jdk-home=/cygdrive/c/jdk1.3.1 --with-unzip-home=/cygdrive/c/unzip
        .
        @@ -819,17 +903,6 @@
        (some screen output here)
        - Please enter the Java home directory: /cygdrive/c/jdk1.3.1 -
        - Please enter the MS-DOS format path for the Microsoft C/C++ compiler home - directory: /cygdrive/c/PROGRA~1/MICROS~3/VC98 -
        - Please enter the MS-DOS format path where the ml.exe assembler is located: - /cygdrive/c/ml -
        - Please enter the MS-DOS format path where unzip.exe is located: - /cygdrive/c/unzip -
        .
        . @@ -844,8 +917,6 @@

        -
      - You should exit the bash shell. Now you can run the environment settings file winenv.bat from your 4NT shell. @@ -858,70 +929,77 @@ instead of C:\path\to\file. This may appear confusing at the moment, but sticking to this notation will work. +
    + +
      +

      tcsh - Example

      + +To run the configure script, type the following command:

      -There are a number of further options that you can use with the -configure script. To display these options, type -the following command: +

      +$SRC_ROOT> cd config_office
      +config_office> ./configure --with-cl-home=/cygdrive/c/PROGRA~1/MICROS~3/VC98 --with-asm-home=/cygdrive/c/ml --with-jdk-home=/cygdrive/c/jdk1.3.1 --with-use-shell=tcsh
      +
      +
    + +

    +There are a number of options that you can use with the +configure +script. To display these options, type the following command:

    -config_office> bash configure --help
    +config_office> ./configure --help
     
    + +

    +After running configure you have to execute the +configuration file which sets all environment variables. An example of how +this file called winenv.bat (in the 4NT case) looks like with the example paths +given above is shown here. +In the 4NT-case you have to start winenv.bat in your 4NT-Shell, in the tcsh-case +you have to start a tcsh and source the configuration file to set all environment +variables: +

    After running configure, you have to source the configuration -file which sets all environment variables: +file which sets all environment variables:

     $SRC_ROOT> tcsh
    -
    +
     $SRC_ROOT> source LinuxIntelEnv.Set
     $SRC_ROOT> source SolarisSparcEnv.Set
    -
    +$SRC_ROOT> source winenv.set
     
    -
    - - -

    -After running configure you have to execute the -configuration file which sets all environment variables. An example of how -this file called winenv.bat looks like with the example paths -given above is shown here. -

    If you experiment with newest sources from the cvs-tree, mind that updates to the configure process do not happen via updates of configure (the script file) but via the files configure.in and -set_soenv.1. The configure script itself is created from -configure.in and set_soenv.1 using the +set_soenv.in. The configure script itself is created from +configure.in and set_soenv.in using the autoconf command. In this case, you would run commands -like the following: +like the following:
    (This has to be done in a Cygwin bash shell)

     $SRC_ROOT> CD config_office
     config_office> cvs update configure.in
     config_office> autoconf
     
    - - -
    -$SRC_ROOT> CD config_office
    -config_office> cvs update configure.in
    -get a bash shell
    -config_office>bash autoconf
    -exit the bash shell
    -
    - -

    - to update the configure script. If you only use code from the snapshot releases on the web, you don't need to be concerned about this. - + +

    +In the 4NT case you don't need to generate additional build tools, all +will be prepared when you call winenv.bat. But in the tcsh case you have +to create some build tools. (Remember, you have a tcsh running at this moment.) +

    To create the build tools, type the following command: @@ -933,7 +1011,6 @@

    The bootstrap utility creates the tools required for building. This involves already building some modules and will take a few minutes. -