View | Details | Raw Unified | Return to issue 9912
Collapse All | Expand All

(-)build_template.html (-94 / +171 lines)
Lines 36-44 Link Here
36
36
37
<p> 
37
<p> 
38
In this example, the script <CODE>winenv.bat</CODE> is executed in the directory 
38
In this example, the script <CODE>winenv.bat</CODE> is executed in the directory 
39
<CODE>D:\my\source</CODE> under a 4NT shell. Unless stated otherwise, all commands 
39
<CODE>D:\my\source</CODE> under a 4NT shell.
40
appearing in this document should be entered from a 4NT shell (the exception 
40
Depending on if you want to use the 4NT or the Cygwin tcsh environment, unless
41
is the configure script which has to be run from a cygwin bash shell). 
41
stated otherwise, all commands appearing in this document should be entered from
42
a 4NT shell or a tcsh shell, respectively. (The exception 
43
is the configure script which has to be run from a cygwin bash shell.)
44
<p> 
45
(The Cygwin tcsh environment is experimental, and can be used starting with
46
cws_srx644_ooo20030412.)
47
<p>
42
</Windows>
48
</Windows>
43
49
44
<CODE>$SRC_ROOT</CODE> will denote the directory in which the source code 
50
<CODE>$SRC_ROOT</CODE> will denote the directory in which the source code 
Lines 178-188 Link Here
178
  </li>
184
  </li>
179
  </Windows> 
185
  </Windows> 
180
  <li> Run the 
186
  <li> Run the 
181
    <Linux><CODE>LinuxIntelEnv.Set</CODE></Linux><Solaris><CODE>SolarisSparcEnv.Set</CODE></Solaris><Windows><CODE>winenv.bat</CODE> (under 4NT) </Windows> script to set all environment variables. 
187
    <Linux><CODE>LinuxIntelEnv.Set</CODE></Linux><Solaris><CODE>SolarisSparcEnv.Set</CODE></Solaris><Windows><CODE>winenv.bat</CODE> (under 4NT) or <CODE>winenv.set</CODE> (under tcsh)</Windows> script to set all environment variables. 
182
  </li>
188
  </li>
183
  <LinuxSolaris> 
189
  <Windows>The following point is only used for the tcsh environment, and not needed when using 4NT:</Windows> 
184
  <li> Create the build tools using <CODE>bootstrap</CODE>. </li>
190
  <li> Create the build tools using <CODE>bootstrap</CODE>. </li>
185
  </LinuxSolaris> 
186
  <li> Build typing <CODE>dmake</CODE> in <CODE>$SRC_ROOT</CODE>, or 
191
  <li> Build typing <CODE>dmake</CODE> in <CODE>$SRC_ROOT</CODE>, or 
187
    <CODE>build -all</CODE> in the <CODE>instsetoo</CODE> module, or 
192
    <CODE>build -all</CODE> in the <CODE>instsetoo</CODE> module, or 
188
    <CODE>build</CODE> followed by <CODE>deliver</CODE> in the individual 
193
    <CODE>build</CODE> followed by <CODE>deliver</CODE> in the individual 
Lines 366-372 Link Here
366
</Solaris>
371
</Solaris>
367
372
368
<Windows>
373
<Windows>
369
<p><b>Build Requirements</b><p>
374
Starting with cws_srx644_ooo20030412 there are two possible ways of building
375
OpenOffice.org for Windows. The <em>standard</em> way using the proprietary 4NT
376
shell and the new <em>unixy</em> way using the cygwin tcsh. Each of both methods
377
has its own Build Requirements section.
378
379
<p><b>Build Requirements - 4NT</b><p>
370
380
371
<ul>
381
<ul>
372
  <li>
382
  <li>
Lines 503-508 Link Here
503
  </li>
513
  </li>
504
514
505
</ul>
515
</ul>
516
517
<p><b>Build Requirements - tcsh</b><p>
518
519
<ul>
520
  <li>
521
    Windows NT Version 4 Service Pack 3 or higher.
522
  </li>
523
524
  <li>
525
    Microsoft Visual C++ Version 6 Service Pack 3. 
526
  </li>
527
528
  <li>
529
    <a href="http://java.sun.com/j2se/1.3">JDK 1.3.1</a>. 
530
  </li>
531
532
  <li> 
533
    Cygwin Toolkit from 
534
    <a href="http://www.cygwin.com">http://www.cygwin.com</a>.
535
    The official informations on using the setup.exe and installing Cygwin are available at:
536
    <a href="http://cygwin.com/cygwin-ug-net/setup-net.html">http://cygwin.com/cygwin-ug-net/setup-net.html</a>. 
537
    More help and information on the Cygwin tools can be found at 
538
    <a href="http://website.openoffice.org/support/en/howtos/1.html">http://website.openoffice.org/support/en/howtos/1.html</a>.
539
   <p>
540
    When installing Cygwin make sure you set the "Default Text File Type" to
541
    "Unix". This is the default setting.
542
   <p>
543
    Not all Cygwin packages are needed to build OpenOffice.org, but make sure
544
    that the following packages are installed.
545
    <ul>
546
     bison<br>
547
     gawk<br>
548
     gzip<br>
549
     patch<br>
550
     tar<br>
551
     perl<br>
552
     zip
553
    </ul>
554
  </li>
555
556
  <li>
557
    A Microsoft Assembly compiler. This may already be present in your 
558
    installation in the same directory where the compiler is located (look for 
559
    <CODE>ML.EXE</CODE> and <CODE>ML.ERR</CODE>). If not, instructions on 
560
    where and how to get a free version can be found at 
561
    <a href="http://www2.dgsys.com/~raymoon/faq/masm.html#9">http://www2.dgsys.com/~raymoon/faq/masm.html#9</a>. 
562
    Place <CODE>ML.EXE</CODE> and <CODE>ML.ERR</CODE> somewhere in a directory 
563
    and note the path, i.e. <CODE>C:\ml</CODE>
564
  </li>
565
566
  <li>
567
    Parts of the Microsoft Platfrom SDK, namely: the MDAC SDK (May 2002 or 
568
    later), the 
569
    Core SDK and the Internet Development SDK (the latters two are dependencies of the MDAC SDK). You can download 
570
    this from 
571
    <a href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/">
572
    http://www.microsoft.com/msdownload/platformsdk/sdkupdate</a>. 
573
  </li>
574
575
  <li>
576
    The Microsoft Layer for Unicode - unicows.dll - is a runtime requirement for Windows 95/98/ME (not for 
577
    NT/2000/XP). The file <CODE>unicows.dll</CODE> has to be downloaded and installed in the system or 
578
    windows directory (i.e. <CODE>C:\WINDOWS\SYSTEM</CODE> or <CODE>C:\WINDOWS</CODE>, respectively). 
579
    A self-extracting binary is available for download at 
580
    <a href="http://download.microsoft.com/download/platformsdk/Redist/1.0/W9XMe/EN-US/unicows.exe">
581
    http://download.microsoft.com/download/platformsdk/Redist/1.0/W9XMe/EN-US/unicows.exe</a>.
582
    For technical details see 
583
    <a href="http://porting.openoffice.org/servlets/ReadMsg?msgId=116287&listName=dev">
584
    http://porting.openoffice.org/servlets/ReadMsg?msgId=116287&listName=dev</a> and  
585
    <a href="http://porting.openoffice.org/servlets/ProjectDocumentList?dcID=515&action=download">
586
    http://porting.openoffice.org/servlets/ProjectDocumentList?dcID=515&action=download</a>. 
587
  </li>
588
589
  <li>
590
    The gpc general polygon clipper library release 2.31, located at
591
    <a href="http://www.cs.man.ac.uk/aig/staff/alan/software/">http://www.cs.man.ac.uk/aig/staff/alan/software/</a>.
592
    Download and unpack the tarball. You should have
593
    the files gpc.c and gpc.h in <CODE>$SRC_ROOT/external/gpc</CODE>.
594
  </li>
595
596
</ul>
597
506
</Windows>
598
</Windows>
507
599
508
<br>
600
<br>
Lines 676-712 Link Here
676
Environment and Build Tools
768
Environment and Build Tools
677
</H2>
769
</H2>
678
770
679
<LinuxSolaris>
771
<Windows>
772
As mentioned above there are now two build systems for Windows, the <em>standard</em>
773
way using the proprietary 4NT shell and the new <em>unixy</em> way using the cygwin
774
tcsh. Each of both methods has its own Build Requirements section.
775
<p>
776
Even if you want to use a non-open source shell to build on a computer running a Win32 
777
operating system, the <b>4NT</b> command shell, the
778
Cygwin <CODE>bash</CODE> shell is needed to run 
779
the <CODE>configure</CODE> script which generates the build environment.
780
<p>
781
To use the new <b>tcsh</b> environment you have to use <CODE>--with-use-shell=tcsh</CODE>
782
as command line switch to the configure script.</Windows>
680
<p>
783
<p>
681
You use the <CODE>configure</CODE> script to generate the build environment.
784
You use the <CODE>configure</CODE> script to generate the build environment.
682
The <CODE>configure</CODE> script checks that all software, hardware, and 
785
The <CODE>configure</CODE> script checks that all software, hardware, and 
683
system requirements for the build are satisfied, and it creates a 
786
system requirements for the build are satisfied, and it creates a 
684
configuration file called </LinuxSolaris><Linux>
787
configuration file called <Linux>
685
<CODE>LinuxIntelEnv.Set</CODE></Linux><Solaris>
788
<CODE>LinuxIntelEnv.Set</CODE></Linux><Solaris>
686
<CODE>SolarisSparcEnv.Set</CODE></Solaris><LinuxSolaris>
789
<CODE>SolarisSparcEnv.Set</CODE></Solaris><Windows>
790
<CODE>winenv.bat (4NT environement) or winenv.set (tcsh environement).</CODE></Windows>
791
<LinuxSolaris>
687
that you then run the <CODE>source</CODE> command on to set all necessary 
792
that you then run the <CODE>source</CODE> command on to set all necessary 
688
build environment variables.
793
build environment variables.
689
</LinuxSolaris>
794
</LinuxSolaris>
690
<Windows>
795
<Windows>
691
<p>
796
In the 4NT case you have to start winenv.bat in your 4NT-shell to set the
692
Ideally, in keeping with the principles of open source, you would use an open 
797
environment variables, in the tcsh case you have to run the <CODE>source</CODE>
693
source shell to build on a computer running a Win32 operating system.  
798
command on winenv.set</Windows>
694
However, this is not possible at present (though we're working on it!). You 
695
must use a non-open source shell to build on a computer running a Win32 
696
operating system: the 4NT command shell. </p>
697
<p>
698
On the other hand, the Cygnus <CODE>bash</CODE> shell is needed to run 
699
the <CODE>configure</CODE> script which generates the build environment.  The 
700
<CODE>configure</CODE> script checks that all software, hardware, and system 
701
requirements for the build are satisfied, and it creates a configuration file 
702
called <CODE>winenv.bat</CODE> that you then execute to set all necessary 
703
build environment variables. We demonstrate a sample run below. 
704
</Windows>
705
706
<p> 
799
<p> 
707
This configuration file will be moved into the <CODE>SRC_ROOT</CODE> directory. 
800
This configuration file will be moved into the <CODE>SRC_ROOT</CODE> directory. 
708
A top-level makefile script <CODE>makefile.mk</CODE> <LinuxSolaris> and the 
801
A top-level makefile script <CODE>makefile.mk</CODE> and the 
709
script <CODE>bootstrap</CODE> in the <CODE>config-office</CODE> directory </LinuxSolaris> 
802
script <CODE>bootstrap</CODE> in the <CODE>config-office</CODE> directory 
710
will be moved into <CODE>SRC_ROOT</CODE> as well. This is due to technical reasons: 
803
will be moved into <CODE>SRC_ROOT</CODE> as well. This is due to technical reasons: 
711
The <CODE>SRC_ROOT</CODE> directory in the cvs tree can only hold directories. 
804
The <CODE>SRC_ROOT</CODE> directory in the cvs tree can only hold directories. 
712
On the other hand, the top-level <CODE>makefile.mk</CODE> should logically be 
805
On the other hand, the top-level <CODE>makefile.mk</CODE> should logically be 
Lines 757-783 Link Here
757
<Windows>
850
<Windows>
758
<p>
851
<p>
759
The following should demonstrate in detail what steps have to be done to 
852
The following should demonstrate in detail what steps have to be done to 
760
set up the environment: 
853
set up the environment. First for the 4NT case and in a second example
761
854
for the tcsh case.
762
<ul>
855
<p>
763
  <li>
856
For both examples we assume that
764
  <p>
765
  Run the configure script according to the following example. We 
766
  assume here that 
767
768
  <p>
857
  <p>
769
  <ul>
858
  <ul>
770
771
    <li>
859
    <li>
772
      the source code is in <CODE>C:\oo643B</CODE>
860
      the source code is in <CODE>C:\oo643B</CODE>
773
    </li>
861
    </li>
774
    <li>
862
    <li>
775
      your STLport files are stored in <CODE>C:\STLport-4.0</CODE>  
776
      (only in case you use your own STLport installation. If you 
777
      don't have this, or just don't care, the version provided in
778
      the source code will be build)
779
    </li>
780
    <li>
781
      JDK 1.3.1 is installed in <CODE>C:\jdk1.3.1</CODE>
863
      JDK 1.3.1 is installed in <CODE>C:\jdk1.3.1</CODE>
782
    </li>
864
    </li>
783
    <li>
865
    <li>
Lines 794-804 Link Here
794
    </li>
876
    </li>
795
    <li>
877
    <li>
796
      and your zip.exe and unzip.exe are in <CODE>C:\unzip</CODE>
878
      and your zip.exe and unzip.exe are in <CODE>C:\unzip</CODE>
879
      <br> The tcsh example uses the Cygwin zip. No extra zip needed.
797
    </li>
880
    </li>
798
799
  </ul>
881
  </ul>
800
882
801
  <p>
883
<ul>
884
  <H3>4NT - Example</H3>
885
802
  Running the configure script could then look like the following (bold typed 
886
  Running the configure script could then look like the following (bold typed 
803
  text is what you enter):
887
  text is what you enter):
804
888
Lines 806-815 Link Here
806
  <CODE>
890
  <CODE>
807
  (open a cygwin bash shell)
891
  (open a cygwin bash shell)
808
  <br>
892
  <br>
809
  <b>cd //c/oo643B/config_office</b> (old cygwin b-20 tools) or <br>
893
  <b>cd /cygdrive/c/oo643B/config_office</b> (new cygwin tools) or <br>
810
  <b> /cygdrive/c/oo643B/config_office</b> (new cygwin tools - we stay 
894
  <b>cd //c/oo643B/config_office</b> (old cygwin b20 tools, deprecated)
811
with that notation for the rest of this example)<br>
895
  <p>
812
  <b>bash configure --with-stlport4-home=/cygdrive/c/STLport-4.0</b>
896
  <b>./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</b>
813
  <br>
897
  <br>
814
  .
898
  .
815
  <br>
899
  <br>
Lines 819-835 Link Here
819
  <br>
903
  <br>
820
  (some screen output here)
904
  (some screen output here)
821
  <br>
905
  <br>
822
  Please enter the Java home directory: <b>/cygdrive/c/jdk1.3.1</b>
823
  <br>
824
  Please enter the MS-DOS format path for the Microsoft C/C++ compiler home 
825
  directory: <b>/cygdrive/c/PROGRA~1/MICROS~3/VC98</b>
826
  <br>
827
  Please enter the MS-DOS format path where the ml.exe assembler is located: 
828
  <b>/cygdrive/c/ml</b>
829
  <br>
830
  Please enter the MS-DOS format path where unzip.exe is located: 
831
  <b>/cygdrive/c/unzip</b>
832
  <br>
833
  .
906
  .
834
  <br>
907
  <br>
835
  .
908
  .
Lines 844-851 Link Here
844
  </p> 
917
  </p> 
845
</li>
918
</li>
846
919
847
</ul>
848
849
You should exit the bash shell. Now you can run the environment
920
You should exit the bash shell. Now you can run the environment
850
settings file <CODE>winenv.bat</CODE> from your 4NT shell.
921
settings file <CODE>winenv.bat</CODE> from your 4NT shell.
851
922
Lines 858-927 Link Here
858
instead of <CODE>C:\path\to\file</CODE>. This may appear 
929
instead of <CODE>C:\path\to\file</CODE>. This may appear 
859
confusing at the moment, but sticking to this notation will 
930
confusing at the moment, but sticking to this notation will 
860
work.
931
work.
932
</ul>
933
934
<ul>
935
<H3>tcsh - Example</H3>
936
937
To run the <CODE>configure</CODE> script, type the following command:
861
938
862
<p>
939
<p>
863
There are a number of further options that you can use with the 
940
<pre>
864
<CODE>configure</CODE> script. To display these options, type 
941
<KBD>$SRC_ROOT> cd config_office</KBD>
865
the following command:
942
<KBD>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</KBD>
943
</pre>
944
</ul>
945
946
<p>
947
There are a number of options that you can use with the
948
<CODE>configure</CODE>
949
script. To display these options, type the following command:
866
950
867
<p>
951
<p>
868
<pre>
952
<pre>
869
<KBD>config_office> bash configure --help</KBD>
953
<KBD>config_office> ./configure --help</KBD>
870
</pre>
954
</pre>
871
</Windows>
955
</Windows>
872
956
957
<Windows>
958
<p>
959
After running <CODE>configure</CODE> you have to execute the 
960
configuration file which sets all environment variables. An example of how 
961
this file called <CODE>winenv.bat</CODE> (in the 4NT case) looks like with the example paths 
962
given above is shown <a href="winenv_bat">here</a>.
873
963
964
In the 4NT-case you have to start winenv.bat in your 4NT-Shell, in the tcsh-case
965
you have to start a tcsh and source the configuration file to set all environment
966
variables:
967
</Windows>
874
<LinuxSolaris>
968
<LinuxSolaris>
875
<p> 
969
<p> 
876
After running <CODE>configure</CODE>, you have to source the configuration 
970
After running <CODE>configure</CODE>, you have to source the configuration 
877
file which sets all environment variables: 
971
file which sets all environment variables:</LinuxSolaris>
878
<p>
972
<p>
879
<pre>
973
<pre>
880
<KBD>$SRC_ROOT> tcsh</KBD>
974
<KBD>$SRC_ROOT> tcsh</KBD>
881
</LinuxSolaris>
975
882
<Linux><KBD>$SRC_ROOT> source LinuxIntelEnv.Set</KBD></Linux>
976
<Linux><KBD>$SRC_ROOT> source LinuxIntelEnv.Set</KBD></Linux>
883
<Solaris><KBD>$SRC_ROOT> source SolarisSparcEnv.Set</KBD></Solaris>
977
<Solaris><KBD>$SRC_ROOT> source SolarisSparcEnv.Set</KBD></Solaris>
884
<LinuxSolaris>
978
<Windows><KBD>$SRC_ROOT> source winenv.set</KBD></Windows>
885
</pre>
979
</pre>
886
</LinuxSolaris>
887
<Windows>
888
889
<p>
890
After running <CODE>configure</CODE> you have to execute the 
891
configuration file which sets all environment variables. An example of how 
892
this file called <CODE>winenv.bat</CODE> looks like with the example paths 
893
given above is shown <a href="winenv_bat">here</a>. 
894
</Windows>
895
980
896
<p> 
981
<p> 
897
If you experiment with newest sources from the cvs-tree, mind that updates 
982
If you experiment with newest sources from the cvs-tree, mind that updates 
898
to the configure process do not happen via updates of <CODE>configure</CODE> 
983
to the configure process do not happen via updates of <CODE>configure</CODE> 
899
(the script file) but via the files <CODE>configure.in</CODE> and 
984
(the script file) but via the files <CODE>configure.in</CODE> and 
900
<CODE>set_soenv.1</CODE>. The configure script itself is created from 
985
<CODE>set_soenv.in</CODE>. The configure script itself is created from 
901
<CODE>configure.in</CODE> and <CODE>set_soenv.1</CODE> using the 
986
<CODE>configure.in</CODE> and <CODE>set_soenv.in</CODE> using the 
902
<CODE>autoconf</CODE> command. In this case, you would run commands 
987
<CODE>autoconf</CODE> command. In this case, you would run commands 
903
like the following: <LinuxSolaris> 
988
like the following:<Windows><br>(This has to be done in a Cygwin bash shell)</Windows>
904
<pre>
989
<pre>
905
<KBD>$SRC_ROOT> CD config_office</KBD>
990
<KBD>$SRC_ROOT> CD config_office</KBD>
906
<KBD>config_office> cvs update configure.in</KBD>
991
<KBD>config_office> cvs update configure.in</KBD>
907
<KBD>config_office> autoconf</KBD>
992
<KBD>config_office> autoconf</KBD>
908
</pre>
993
</pre>
909
</LinuxSolaris>
910
<Windows>
911
<pre>
912
<KBD>$SRC_ROOT> CD config_office</KBD>
913
<KBD>config_office> cvs update configure.in</KBD>
914
get a bash shell
915
<KBD>config_office>bash autoconf</KBD>
916
exit the bash shell
917
</pre>
918
919
<p>
920
</Windows>
921
to update the <CODE>configure</CODE> script. If you only use code from the 
994
to update the <CODE>configure</CODE> script. If you only use code from the 
922
snapshot releases on the web, you don't need to be concerned about this.
995
snapshot releases on the web, you don't need to be concerned about this.
923
996
924
<LinuxSolaris>
997
<Windows>
998
<p>
999
In the 4NT case you don't need to generate additional build tools, all
1000
will be prepared when you call winenv.bat. But in the tcsh case you have
1001
to create some build tools. (Remember, you have a tcsh running at this moment.) 
1002
</Windows>
925
<p>
1003
<p>
926
To create the build tools, type the following command:
1004
To create the build tools, type the following command:
927
1005
Lines 933-939 Link Here
933
<p>
1011
<p>
934
The <CODE>bootstrap</CODE> utility creates the tools required for building.
1012
The <CODE>bootstrap</CODE> utility creates the tools required for building.
935
This involves already building some modules and will take a few minutes.
1013
This involves already building some modules and will take a few minutes.
936
</LinuxSolaris>
937
1014
938
<br><p><br><p><br><p>
1015
<br><p><br><p><br><p>
939
1016

Return to issue 9912