Changeset 4734 for trunk/tools/install


Ignore:
Timestamp:
Dec 3, 2000, 9:06:36 AM (25 years ago)
Author:
bird
Message:

Added win32k.sys config.sys packet.
Changed to use the -c option of wic.exe.
Added support for multiple compilers.
Multiple targets.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/install/odin.cmd

    r4543 r4734  
    1 /* Odin installation script */
     1/* $Id: odin.cmd,v 1.17 2000-12-03 08:06:36 bird Exp $
     2 *
     3 * Odin32 API WarpIn installation script generator.
     4 *
     5 * Copyright (c) 2000 knut st. osmundsen (knut.stange.osmundsen@mynd.no)
     6 *
     7 * Project Odin Software License can be found in LICENSE.TXT
     8 *
     9 *
     10 *  Util to build WarpIn archive.
     11 *  Syntax: Odin.cmd <dlldir> [dlldir2] [dlldir3] [dlldir4]
     12 *      Where <dlldir> is the subdirectory name in /bin.
     13 *
     14 */
     15
     16
     17/*
     18 * Load REXX util functions.
     19 */
    220Call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
    321Call SysLoadFuncs
    422
    5 "del odininst.wis"
     23
     24/*
     25 * Parse arguments.
     26 */
     27parse arg asArg.1 asArg.2 asArg.3 asArg.4 asArg.5 asArg.6 asArg.7 asArg.8 asArg.9
     28
     29
     30/* If no arguments Then display syntax and fail. */
     31if (asArg.1 = '') then
     32do
     33    call Syntax;
     34    exit(1);
     35end
     36
     37/*
     38 * Process arguments.
     39 */
     40i = 1;
     41do while ((asArg.i <> '') & (i < 9))
     42    /*
     43     * Look for unsupported options.
     44     */
     45    ch = substr(asArg.i, 1, 1);
     46    if (ch = '-' || ch = '/') then
     47    do  /* option */
     48        call Syntax;
     49        exit(1);
     50    end
     51
     52    /*
     53     * The argument specifies a dlldirectory under bin.
     54     * Make distribution.
     55     */
     56    if (CreateWarpInScript('odininst.wis', asArg.i) <> 0) then
     57    do
     58        say 'failed to create WarpIn script.'
     59        exit(2);
     60    end
     61    if (PackFiles('odininst.wis', asArg.i, MakeArchiveName(asArg.i)) <> 0) then
     62    do
     63        say 'failed to create WarpIn script.'
     64        exit(3);
     65    end
     66    i = i + 1;
     67end
     68
     69/*
     70 * successfull exit
     71 */
     72exit(0);
     73
     74
     75/*
     76 * Display syntax.
     77 */
     78Syntax: procedure;
     79say 'Util to build WarpIn archive.';
     80say 'Syntax: Odin.cmd <dlldir> [dlldir2] [dlldir3] [dlldir4]';
     81say '    Where <dlldir> is the subdirectory name in /bin.';
     82return;
     83
     84
     85/*
     86 * Create the install script file
     87 */
     88CreateWarpInScript: procedure
     89parse arg sInstFile, sDlldir
     90
     91call SysFileDelete sInstFile;
    692
    793/* create warpin installation script */
    8 instfile = 'odininst.wis'
    9 rc = lineout(instfile, '<WARPIN>', 1);
    10 rc = lineout(instfile, '<HEAD>');
    11 rc = lineout(instfile, '<PCK INDEX=1');
    12 rc = lineout(instfile, '     PACKAGEID="Odin\Odin\Odin Core Files\0\0\5"');
    13 rc = lineout(instfile, '     TARGET="C:\ODIN" BASE');
     94rc = lineout(sInstFile, '<WARPIN>', 1);
     95rc = lineout(sInstFile, '<HEAD>');
     96rc = lineout(sInstFile, '<PCK INDEX=1');
     97rc = lineout(sInstFile, '     PACKAGEID="Odin\Odin\Odin Core Files\0\0\5"');
     98rc = lineout(sInstFile, '     TARGET="C:\ODIN" BASE');
    1499title = "     TITLE=""Odin Daily Build ("date()")""";
    15 rc = lineout(instfile, title);
    16 rc = lineout(instfile, '     SELECT NODESELECT');
    17 rc = lineout(instfile, '     >Installation of Odin Daily Build .</PCK>');
    18 rc = lineout(instfile, '');
    19 rc = lineout(instfile, '<PCK INDEX=2');
    20 rc = lineout(instfile, '     PACKAGEID="Odin\Odin\Odin System Files\0\0\5"');
    21 rc = lineout(instfile, '     TARGET="C:\ODIN\SYSTEM32"');
    22 rc = lineout(instfile, '     FIXED SELECT NODESELECT');
     100rc = lineout(sInstFile, title);
     101rc = lineout(sInstFile, '     SELECT NODESELECT');
     102rc = lineout(sInstFile, '     >Installation of Odin Daily Build .</PCK>');
     103rc = lineout(sInstFile, '');
     104rc = lineout(sInstFile, '<PCK INDEX=2');
     105rc = lineout(sInstFile, '     PACKAGEID="Odin\Odin\Odin System Files\0\0\5"');
     106rc = lineout(sInstFile, '     TARGET="C:\ODIN\SYSTEM32"');
     107rc = lineout(sInstFile, '     FIXED SELECT NODESELECT');
    23108title = "     TITLE=""Odin Daily Build System Files ("date()")""";
    24 rc = lineout(instfile, title);
    25 rc = lineout(instfile, '     EXECUTE="odininst.exe"');
    26 rc = lineout(instfile, '     CONFIGSYS="LIBPATH=$(1)\SYSTEM32 | ADDRIGHT"');
    27 rc = lineout(instfile, '     CONFIGSYS="SET PATH=$(1)\SYSTEM32 | ADDRIGHT"');
    28 rc = lineout(instfile, '     >Installation of Odin System files .</PCK>');
    29 rc = lineout(instfile, '');
    30 rc = lineout(instfile, '<PCK INDEX=3');
    31 rc = lineout(instfile, '     PACKAGEID="Odin\Odin\Odin 3dfx Voodoo OpenGL Files\0\0\5"');
    32 rc = lineout(instfile, '     TARGET="C:\ODIN\SYSTEM32"');
    33 rc = lineout(instfile, '     FIXED');
     109rc = lineout(sInstFile, title);
     110rc = lineout(sInstFile, '     EXECUTE="odininst.exe"');
     111rc = lineout(sInstFile, '     CONFIGSYS="LIBPATH=$(1)\SYSTEM32 | ADDRIGHT"');
     112rc = lineout(sInstFile, '     CONFIGSYS="SET PATH=$(1)\SYSTEM32 | ADDRIGHT"');
     113rc = lineout(sInstFile, '     >Installation of Odin System files .</PCK>');
     114rc = lineout(sInstFile, '');
     115rc = lineout(sInstFile, '<PCK INDEX=3');
     116rc = lineout(sInstFile, '     PACKAGEID="Odin\Odin\Add Win32k.sys to Config.sys\0\0\5"');
     117rc = lineout(sInstFile, '     TARGET="C:\ODIN\SYSTEM32"');
     118rc = lineout(sInstFile, '     FIXED SELECT');
     119title = "     TITLE=""Add Win32k.sys to Config.sys""";
     120rc = lineout(sInstFile, title);
     121rc = lineout(sInstFile, '     CONFIGSYS="DEVICE=$(1)\SYSTEM32\Win32k.sys | UNIQUE ADDBEFORE(PROTSHELL)"');
     122rc = lineout(sInstFile, '     >Add Win32k.sys to Config.sys .</PCK>');
     123rc = lineout(sInstFile, '');
     124rc = lineout(sInstFile, '<PCK INDEX=4');
     125rc = lineout(sInstFile, '     PACKAGEID="Odin\Odin\Odin 3dfx Voodoo OpenGL Files\0\0\5"');
     126rc = lineout(sInstFile, '     TARGET="C:\ODIN\SYSTEM32"');
     127rc = lineout(sInstFile, '     FIXED');
    34128title = "     TITLE=""Odin Daily Build 3dfx Voodoo OpenGL Files ("date()")""";
    35 rc = lineout(instfile, title);
    36 rc = lineout(instfile, '     >Installation of Odin 3dfx Voodoo OpenGL files .</PCK>');
    37 rc = lineout(instfile, '');
    38 rc = lineout(instfile, '<PCK INDEX=4');
    39 rc = lineout(instfile, '     PACKAGEID="Odin\Odin\Odin 3dfx Voodoo 1 Glide Files\0\0\5"');
    40 rc = lineout(instfile, '     TARGET="C:\ODIN\SYSTEM32"');
    41 rc = lineout(instfile, '     FIXED');
     129rc = lineout(sInstFile, title);
     130rc = lineout(sInstFile, '     >Installation of Odin 3dfx Voodoo OpenGL files .</PCK>');
     131rc = lineout(sInstFile, '');
     132rc = lineout(sInstFile, '<PCK INDEX=5');
     133rc = lineout(sInstFile, '     PACKAGEID="Odin\Odin\Odin 3dfx Voodoo 1 Glide Files\0\0\5"');
     134rc = lineout(sInstFile, '     TARGET="C:\ODIN\SYSTEM32"');
     135rc = lineout(sInstFile, '     FIXED');
    42136title = "     TITLE=""Odin Daily Build 3dfx Voodoo 1 Glide Files ("date()")""";
    43 rc = lineout(instfile, title);
    44 rc = lineout(instfile, '     >Installation of Odin 3dfx Voodoo 1 Glide files .</PCK>');
    45 rc = lineout(instfile, '');
    46 rc = lineout(instfile, '<PCK INDEX=5');
    47 rc = lineout(instfile, '     PACKAGEID="Odin\Odin\Odin 3dfx Voodoo 2 Glide Files\0\0\5"');
    48 rc = lineout(instfile, '     TARGET="C:\ODIN\SYSTEM32"');
    49 rc = lineout(instfile, '     FIXED');
     137rc = lineout(sInstFile, title);
     138rc = lineout(sInstFile, '     >Installation of Odin 3dfx Voodoo 1 Glide files .</PCK>');
     139rc = lineout(sInstFile, '');
     140rc = lineout(sInstFile, '<PCK INDEX=6');
     141rc = lineout(sInstFile, '     PACKAGEID="Odin\Odin\Odin 3dfx Voodoo 2 Glide Files\0\0\5"');
     142rc = lineout(sInstFile, '     TARGET="C:\ODIN\SYSTEM32"');
     143rc = lineout(sInstFile, '     FIXED');
    50144title = "     TITLE=""Odin Daily Build 3dfx Voodoo 2 Glide Files ("date()")""";
    51 rc = lineout(instfile, title);
    52 rc = lineout(instfile, '     >Installation of Odin 3dfx Voodoo 2 Glide files .</PCK>');
    53 rc = lineout(instfile, '</HEAD>');
    54 rc = lineout(instfile, '<BODY>');
    55 rc = lineout(instfile, '<PAGE INDEX=1 TYPE=TEXT>');
    56 rc = lineout(instfile, '<NEXTBUTTON TARGET=2>~Next</NEXTBUTTON>');
    57 rc = lineout(instfile, '<TEXT>');
    58 rc = lineout(instfile, 'Project Odin Information');
    59 rc = lineout(instfile, '========================');
    60 rc = lineout(instfile, '');
    61 rc = lineout(instfile, 'Odin is a free Open Source project with the goal to eventually');
    62 rc = lineout(instfile, 'provide a fully working Win32 (Win 95/98/NT/2000) runtime environment,');
    63 rc = lineout(instfile, 'making it possible to run your favorite Windows programs under OS/2,');
    64 rc = lineout(instfile, 'as if they were native OS/2 programs. The second goal of Odin is to');
    65 rc = lineout(instfile, 'provide the full Win32 application programming interface (API) so');
    66 rc = lineout(instfile, 'that it is possible to build OS/2 programs using Windows source');
    67 rc = lineout(instfile, 'code. This is also refered to as Odin32 whereas Odin is the name');
    68 rc = lineout(instfile, 'of the Win32 binary emulator.');
    69 rc = lineout(instfile, '');
    70 rc = lineout(instfile, 'Odin is available thanks to the work of the following people:');
    71 rc = lineout(instfile, '');
    72 rc = lineout(instfile, '     Christoph Bratschi');
    73 rc = lineout(instfile, '     Oliver Braun');
    74 rc = lineout(instfile, '     Edgar Buerkle');
    75 rc = lineout(instfile, '     Yuri Dario');
    76 rc = lineout(instfile, '     Przemyslaw Dobrowolski');
    77 rc = lineout(instfile, '     Daniela Engert');
    78 rc = lineout(instfile, '     Peter Fitzsimmons');
    79 rc = lineout(instfile, '     Adrian Gschwend');
    80 rc = lineout(instfile, '     Jeroen van den Horn');
    81 rc = lineout(instfile, '     Patrick Haller');
    82 rc = lineout(instfile, '     Achim Hasenmueller');
    83 rc = lineout(instfile, '     Kevin Langman');
    84 rc = lineout(instfile, '     Bart van Leeuwen');
    85 rc = lineout(instfile, '     Sander van Leeuwen');
    86 rc = lineout(instfile, '     Felix Maschek');
    87 rc = lineout(instfile, '     Chris McKillop');
    88 rc = lineout(instfile, '     Nenad Milenkovic');
    89 rc = lineout(instfile, '     Markus Montkowski');
    90 rc = lineout(instfile, '     Michal Necasek');
    91 rc = lineout(instfile, '     Ondrej Necasek');
    92 rc = lineout(instfile, '     Knut Stange Osmundsen');
    93 rc = lineout(instfile, '     Vitali E. Pelenyov');
    94 rc = lineout(instfile, '     Rene Pronk');
    95 rc = lineout(instfile, '     David Raison');
    96 rc = lineout(instfile, '     Carsten Tenbrink');
    97 rc = lineout(instfile, '     Vit Timchishin');
    98 rc = lineout(instfile, '     Joel Troster');
    99 rc = lineout(instfile, '     Jens Wiessner');
    100 rc = lineout(instfile, '     Vince Vielhaber');
    101 rc = lineout(instfile, '     All the WINE people');
    102 rc = lineout(instfile, '');
    103 rc = lineout(instfile, '</TEXT>');
    104 rc = lineout(instfile, '</PAGE>');
    105 rc = lineout(instfile, '<PAGE INDEX=2 TYPE=README>');
    106 rc = lineout(instfile, '<NEXTBUTTON TARGET=3>~I agree</NEXTBUTTON>');
    107 rc = lineout(instfile, '<TEXT>');
    108 rc = lineout(instfile, 'By pressing the "I agree" button, you agree to all terms and conditions to the below licence agreement.');
    109 rc = lineout(instfile, '</TEXT>');
    110 rc = lineout(instfile, '<README>');
    111 rc = lineout(instfile, 'Project Odin Software License');
    112 rc = lineout(instfile, '');
    113 rc = lineout(instfile, 'You may, without charge, royalty, or other payment, copy and');
    114 rc = lineout(instfile, 'distribute copies of this work and derivative works of this work');
    115 rc = lineout(instfile, 'in source or binary form provided that:');
    116 rc = lineout(instfile, '(1) you appropriately publish on each copy an appropriate');
    117 rc = lineout(instfile, 'copyright notice; (2) faithfully reproduce all prior copyright');
    118 rc = lineout(instfile, 'included in the original work; and (3) agree to indemnify and');
    119 rc = lineout(instfile, 'hold all prior authors, copyright holders and licensors of the');
    120 rc = lineout(instfile, 'work harmless from and against all damages arising from use of');
    121 rc = lineout(instfile, 'or the inability to use the work.');
    122 rc = lineout(instfile, '');
    123 rc = lineout(instfile, 'You may distribute binaries and sources of derivative works of');
    124 rc = lineout(instfile, 'the work provided that: (1) all modifications to the original');
    125 rc = lineout(instfile, 'source code are publically available; (2) all modifications are');
    126 rc = lineout(instfile, 'released under this license; (3) all copyrights of the original');
    127 rc = lineout(instfile, 'work are included; (4) the modifications are a direct advantage');
    128 rc = lineout(instfile, 'for the functionality and completeness of the product or improve');
    129 rc = lineout(instfile, 'interoperability of the product with another product and do not');
    130 rc = lineout(instfile, 'interfere with the goal of an open source and free emulation');
    131 rc = lineout(instfile, 'product.');
    132 rc = lineout(instfile, '');
    133 rc = lineout(instfile, 'You may NOT use the work as base of another work that is');
    134 rc = lineout(instfile, 'not released under this license agreement meaning that you');
    135 rc = lineout(instfile, 'especially are not allowed to develop any other product which');
    136 rc = lineout(instfile, 'is based on the sources and/or binaries of the work.');
    137 rc = lineout(instfile, '');
    138 rc = lineout(instfile, 'However, you are encouraged to use the work for porting your');
    139 rc = lineout(instfile, 'free or commercial applications. You can ship software');
    140 rc = lineout(instfile, 'converted using the work as long as the original copyright');
    141 rc = lineout(instfile, 'for the work is mentioned and you do not charge for');
    142 rc = lineout(instfile, 'using any part of the work. You may also ship the work in');
    143 rc = lineout(instfile, 'binaries and sources for use with your applications as long');
    144 rc = lineout(instfile, 'as you do not violate the distribution regulations of this license.');
    145 rc = lineout(instfile, '');
    146 rc = lineout(instfile, 'These license terms can be amended by a custom license');
    147 rc = lineout(instfile, 'agreement between a third party and the administration');
    148 rc = lineout(instfile, 'team. Such a custom license might only limit the above terms');
    149 rc = lineout(instfile, 'if the changes cause a direct advantage for the functionality');
    150 rc = lineout(instfile, 'or completeness of the product and do not interfere with the');
    151 rc = lineout(instfile, 'goal of an open-source and free emulation product.');
    152 rc = lineout(instfile, '');
    153 rc = lineout(instfile, 'Parts of the work may be governed by a license other than');
    154 rc = lineout(instfile, 'this one, if the source directory of the part contains a');
    155 rc = lineout(instfile, 'license file called "LICENSE.TXT" of its own. If a different');
    156 rc = lineout(instfile, 'license exists, it supercedes this license. Removing the');
    157 rc = lineout(instfile, 'the part specific license will automatically put back the');
    158 rc = lineout(instfile, 'part under the terms of this license. Only the Odin management');
    159 rc = lineout(instfile, 'team is allowed to put parts of the work under a different');
    160 rc = lineout(instfile, 'license and remove the part specific licenses. The purpose');
    161 rc = lineout(instfile, 'of using different licenses is solely for allowing code');
    162 rc = lineout(instfile, 'sharing of certain parts of the work with other projects that');
    163 rc = lineout(instfile, 'have incompatible licenses. These parts should either have');
    164 rc = lineout(instfile, 'this license in a version that makes it compatible with the');
    165 rc = lineout(instfile, 'license of the second project, or the license of the second');
    166 rc = lineout(instfile, 'project as long as it conforms to the goals of an open source');
    167 rc = lineout(instfile, 'and free emulation software.');
    168 rc = lineout(instfile, '');
    169 rc = lineout(instfile, 'Warranty');
    170 rc = lineout(instfile, '');
    171 rc = lineout(instfile, 'EXCEPT AS OTHERWISE RESTRICTED BY LAW, THIS WORK IS PROVIDED');
    172 rc = lineout(instfile, 'WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING');
    173 rc = lineout(instfile, 'BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF FITNESS FOR A');
    174 rc = lineout(instfile, 'PARTICULAR PURPOSE, MERCHANTABILITY OR TITLE.  EXCEPT AS');
    175 rc = lineout(instfile, 'OTHERWISE PROVIDED BY LAW, NO AUTHOR, COPYRIGHT HOLDER OR');
    176 rc = lineout(instfile, 'LICENSOR SHALL BE LIABLE TO YOU FOR DAMAGES OF ANY KIND, EVEN IF');
    177 rc = lineout(instfile, 'THEY HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.');
    178 rc = lineout(instfile, '</README>');
    179 rc = lineout(instfile, '</PAGE>');
    180 rc = lineout(instfile, '<PAGE INDEX=3 TYPE=README>');
    181 rc = lineout(instfile, '<NEXTBUTTON TARGET=4>~Next</NEXTBUTTON>');
    182 rc = lineout(instfile, '<TEXT>');
    183 rc = lineout(instfile, 'List of changes and bugfixes for this Odin daily build ('date()')');
    184 rc = lineout(instfile, '</TEXT>');
    185 rc = lineout(instfile, '<README>');
    186 /* Insert ChangeLog */
    187 changelog = '..\..\ChangeLog'
    188 logline = linein(changelog);
    189 do while lines(changelog) > 0
    190 rc = lineout(instfile, logline);
    191 logline = linein(changelog);
     145rc = lineout(sInstFile, title);
     146rc = lineout(sInstFile, '     >Installation of Odin 3dfx Voodoo 2 Glide files .</PCK>');
     147rc = lineout(sInstFile, '</HEAD>');
     148rc = lineout(sInstFile, '<BODY>');
     149rc = lineout(sInstFile, '<PAGE INDEX=1 TYPE=TEXT>');
     150rc = lineout(sInstFile, '<NEXTBUTTON TARGET=2>~Next</NEXTBUTTON>');
     151rc = lineout(sInstFile, '<TEXT>');
     152rc = lineout(sInstFile, 'Project Odin Information');
     153rc = lineout(sInstFile, '========================');
     154rc = lineout(sInstFile, '');
     155rc = lineout(sInstFile, 'Odin is a free Open Source project with the goal to eventually');
     156rc = lineout(sInstFile, 'provide a fully working Win32 (Win 95/98/NT/2000) runtime environment, ');
     157rc = lineout(sInstFile, 'making it possible to run your favorite Windows programs under OS/2, ');
     158rc = lineout(sInstFile, 'as if they were native OS/2 programs. The second goal of Odin is to');
     159rc = lineout(sInstFile, 'provide the full Win32 application programming interface (API) so');
     160rc = lineout(sInstFile, 'that it is possible to build OS/2 programs using Windows source');
     161rc = lineout(sInstFile, 'code. This is also refered to as Odin32 whereas Odin is the name');
     162rc = lineout(sInstFile, 'of the Win32 binary emulator.');
     163rc = lineout(sInstFile, '');
     164rc = lineout(sInstFile, 'Odin is available thanks to the work of the following people:');
     165rc = lineout(sInstFile, '');
     166rc = lineout(sInstFile, '     Christoph Bratschi');
     167rc = lineout(sInstFile, '     Oliver Braun');
     168rc = lineout(sInstFile, '     Edgar Buerkle');
     169rc = lineout(sInstFile, '     Yuri Dario');
     170rc = lineout(sInstFile, '     Przemyslaw Dobrowolski');
     171rc = lineout(sInstFile, '     Daniela Engert');
     172rc = lineout(sInstFile, '     Peter Fitzsimmons');
     173rc = lineout(sInstFile, '     Adrian Gschwend');
     174rc = lineout(sInstFile, '     Jeroen van den Horn');
     175rc = lineout(sInstFile, '     Patrick Haller');
     176rc = lineout(sInstFile, '     Achim Hasenmueller');
     177rc = lineout(sInstFile, '     Kevin Langman');
     178rc = lineout(sInstFile, '     Bart van Leeuwen');
     179rc = lineout(sInstFile, '     Sander van Leeuwen');
     180rc = lineout(sInstFile, '     Felix Maschek');
     181rc = lineout(sInstFile, '     Chris McKillop');
     182rc = lineout(sInstFile, '     Nenad Milenkovic');
     183rc = lineout(sInstFile, '     Markus Montkowski');
     184rc = lineout(sInstFile, '     Michal Necasek');
     185rc = lineout(sInstFile, '     Ondrej Necasek');
     186rc = lineout(sInstFile, '     Knut Stange Osmundsen');
     187rc = lineout(sInstFile, '     Vitali E. Pelenyov');
     188rc = lineout(sInstFile, '     Rene Pronk');
     189rc = lineout(sInstFile, '     David Raison');
     190rc = lineout(sInstFile, '     Carsten Tenbrink');
     191rc = lineout(sInstFile, '     Vit Timchishin');
     192rc = lineout(sInstFile, '     Joel Troster');
     193rc = lineout(sInstFile, '     Jens Wiessner');
     194rc = lineout(sInstFile, '     Vince Vielhaber');
     195rc = lineout(sInstFile, '     All the WINE people');
     196rc = lineout(sInstFile, '');
     197rc = lineout(sInstFile, '</TEXT>');
     198rc = lineout(sInstFile, '</PAGE>');
     199rc = lineout(sInstFile, '<PAGE INDEX=2 TYPE=README>');
     200rc = lineout(sInstFile, '<NEXTBUTTON TARGET=3>~I agree</NEXTBUTTON>');
     201rc = lineout(sInstFile, '<TEXT>');
     202rc = lineout(sInstFile, 'By pressing the "I agree" button, you agree to all terms and conditions to the below licence agreement.');
     203rc = lineout(sInstFile, '</TEXT>');
     204rc = lineout(sInstFile, '<README>');
     205rc = lineout(sInstFile, 'Project Odin Software License');
     206rc = lineout(sInstFile, '');
     207rc = lineout(sInstFile, 'You may, without charge, royalty, or other payment, copy and');
     208rc = lineout(sInstFile, 'distribute copies of this work and derivative works of this work');
     209rc = lineout(sInstFile, 'in source or binary form provided that:');
     210rc = lineout(sInstFile, '(1) you appropriately publish on each copy an appropriate');
     211rc = lineout(sInstFile, 'copyright notice; (2) faithfully reproduce all prior copyright');
     212rc = lineout(sInstFile, 'included in the original work; and (3) agree to indemnify and');
     213rc = lineout(sInstFile, 'hold all prior authors, copyright holders and licensors of the');
     214rc = lineout(sInstFile, 'work harmless from and against all damages arising from use of');
     215rc = lineout(sInstFile, 'or the inability to use the work.');
     216rc = lineout(sInstFile, '');
     217rc = lineout(sInstFile, 'You may distribute binaries and sources of derivative works of');
     218rc = lineout(sInstFile, 'the work provided that: (1) all modifications to the original');
     219rc = lineout(sInstFile, 'source code are publically available; (2) all modifications are');
     220rc = lineout(sInstFile, 'released under this license; (3) all copyrights of the original');
     221rc = lineout(sInstFile, 'work are included; (4) the modifications are a direct advantage');
     222rc = lineout(sInstFile, 'for the functionality and completeness of the product or improve');
     223rc = lineout(sInstFile, 'interoperability of the product with another product and do not');
     224rc = lineout(sInstFile, 'interfere with the goal of an open source and free emulation');
     225rc = lineout(sInstFile, 'product.');
     226rc = lineout(sInstFile, '');
     227rc = lineout(sInstFile, 'You may NOT use the work as base of another work that is');
     228rc = lineout(sInstFile, 'not released under this license agreement meaning that you');
     229rc = lineout(sInstFile, 'especially are not allowed to develop any other product which');
     230rc = lineout(sInstFile, 'is based on the sources and/or binaries of the work.');
     231rc = lineout(sInstFile, '');
     232rc = lineout(sInstFile, 'However, you are encouraged to use the work for porting your');
     233rc = lineout(sInstFile, 'free or commercial applications. You can ship software');
     234rc = lineout(sInstFile, 'converted using the work as long as the original copyright');
     235rc = lineout(sInstFile, 'for the work is mentioned and you do not charge for');
     236rc = lineout(sInstFile, 'using any part of the work. You may also ship the work in');
     237rc = lineout(sInstFile, 'binaries and sources for use with your applications as long');
     238rc = lineout(sInstFile, 'as you do not violate the distribution regulations of this license.');
     239rc = lineout(sInstFile, '');
     240rc = lineout(sInstFile, 'These license terms can be amended by a custom license');
     241rc = lineout(sInstFile, 'agreement between a third party and the administration');
     242rc = lineout(sInstFile, 'team. Such a custom license might only limit the above terms');
     243rc = lineout(sInstFile, 'if the changes cause a direct advantage for the functionality');
     244rc = lineout(sInstFile, 'or completeness of the product and do not interfere with the');
     245rc = lineout(sInstFile, 'goal of an open-source and free emulation product.');
     246rc = lineout(sInstFile, '');
     247rc = lineout(sInstFile, 'Parts of the work may be governed by a license other than');
     248rc = lineout(sInstFile, 'this one, if the source directory of the part contains a');
     249rc = lineout(sInstFile, 'license file called "LICENSE.TXT" of its own. If a different');
     250rc = lineout(sInstFile, 'license exists, it supercedes this license. Removing the');
     251rc = lineout(sInstFile, 'the part specific license will automatically put back the');
     252rc = lineout(sInstFile, 'part under the terms of this license. Only the Odin management');
     253rc = lineout(sInstFile, 'team is allowed to put parts of the work under a different');
     254rc = lineout(sInstFile, 'license and remove the part specific licenses. The purpose');
     255rc = lineout(sInstFile, 'of using different licenses is solely for allowing code');
     256rc = lineout(sInstFile, 'sharing of certain parts of the work with other projects that');
     257rc = lineout(sInstFile, 'have incompatible licenses. These parts should either have');
     258rc = lineout(sInstFile, 'this license in a version that makes it compatible with the');
     259rc = lineout(sInstFile, 'license of the second project, or the license of the second');
     260rc = lineout(sInstFile, 'project as long as it conforms to the goals of an open source');
     261rc = lineout(sInstFile, 'and free emulation software.');
     262rc = lineout(sInstFile, '');
     263rc = lineout(sInstFile, 'Warranty');
     264rc = lineout(sInstFile, '');
     265rc = lineout(sInstFile, 'EXCEPT AS OTHERWISE RESTRICTED BY LAW, THIS WORK IS PROVIDED');
     266rc = lineout(sInstFile, 'WITHOUT ANY EXPRESSED OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING');
     267rc = lineout(sInstFile, 'BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF FITNESS FOR A');
     268rc = lineout(sInstFile, 'PARTICULAR PURPOSE, MERCHANTABILITY OR TITLE.  EXCEPT AS');
     269rc = lineout(sInstFile, 'OTHERWISE PROVIDED BY LAW, NO AUTHOR, COPYRIGHT HOLDER OR');
     270rc = lineout(sInstFile, 'LICENSOR SHALL BE LIABLE TO YOU FOR DAMAGES OF ANY KIND, EVEN IF');
     271rc = lineout(sInstFile, 'THEY HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.');
     272rc = lineout(sInstFile, '</README>');
     273rc = lineout(sInstFile, '</PAGE>');
     274rc = lineout(sInstFile, '<PAGE INDEX=3 TYPE=README>');
     275rc = lineout(sInstFile, '<NEXTBUTTON TARGET=4>~Next</NEXTBUTTON>');
     276rc = lineout(sInstFile, '<TEXT>');
     277rc = lineout(sInstFile, 'List of changes and bugfixes for this Odin daily build ('date()')');
     278rc = lineout(sInstFile, '</TEXT>');
     279rc = lineout(sInstFile, '<README>');
     280
     281/* Insert ChangeLog. */
     282sChangeLog = '..\..\ChangeLog';
     283sLogLine   = linein(sChangeLog);
     284do while (lines(sChangeLog) > 0)
     285    rc = lineout(sInstFile, sLogLine);
     286    sLogLine = linein(sChangeLog);
    192287end
    193 call stream changelog, 'c', 'close';
    194 
    195 rc = lineout(instfile, '</README>');
    196 rc = lineout(instfile, '</PAGE>');
    197 rc = lineout(instfile, '<PAGE INDEX=4 TYPE=CONTAINER>');
    198 rc = lineout(instfile, '<NEXTBUTTON TARGET=5>~Next</NEXTBUTTON>');
    199 rc = lineout(instfile, '<TEXT>');
    200 rc = lineout(instfile, 'Please select the packages which are to be installed. You may change the target paths for the packages.');
    201 rc = lineout(instfile, '</TEXT>');
    202 rc = lineout(instfile, '</PAGE>');
    203 rc = lineout(instfile, '<PAGE INDEX=5 TYPE=CONFIGURE>');
    204 rc = lineout(instfile, '<NEXTBUTTON TARGET=6>~Next</NEXTBUTTON>');
    205 rc = lineout(instfile, '<TEXT>');
    206 rc = lineout(instfile, 'Please select additional configuration that WarpIN should perform after installing this archive.');
    207 rc = lineout(instfile, '</TEXT>');
    208 rc = lineout(instfile, '</PAGE>');
    209 rc = lineout(instfile, '<PAGE INDEX=6 TYPE=TEXT>');
    210 rc = lineout(instfile, '<NEXTBUTTON TARGET=0>I~nstall</NEXTBUTTON>');
    211 rc = lineout(instfile, '<TEXT>');
    212 rc = lineout(instfile, 'Press "Install" to begin installing Odin.</TEXT>');
    213 rc = lineout(instfile, '</PAGE>');
    214 rc = lineout(instfile, '</BODY>');
    215 rc = lineout(instfile, '</WARPIN>');
    216 rc = lineout(instfile, '');
    217 rc = lineout(instfile);
    218 /* rc = SysFileDelete(instfile); */
    219 
    220 parse arg cmdline
    221 
    222 curdir = directory();
    223 if cmdline = "debug"
    224 then
     288call stream sChangeLog, 'c', 'close';
     289
     290rc = lineout(sInstFile, '</README>');
     291rc = lineout(sInstFile, '</PAGE>');
     292rc = lineout(sInstFile, '<PAGE INDEX=4 TYPE=CONTAINER>');
     293rc = lineout(sInstFile, '<NEXTBUTTON TARGET=5>~Next</NEXTBUTTON>');
     294rc = lineout(sInstFile, '<TEXT>');
     295rc = lineout(sInstFile, 'Please select the packages which are to be installed. You may change the target paths for the packages.');
     296rc = lineout(sInstFile, '</TEXT>');
     297rc = lineout(sInstFile, '</PAGE>');
     298rc = lineout(sInstFile, '<PAGE INDEX=5 TYPE=CONFIGURE>');
     299rc = lineout(sInstFile, '<NEXTBUTTON TARGET=6>~Next</NEXTBUTTON>');
     300rc = lineout(sInstFile, '<TEXT>');
     301rc = lineout(sInstFile, 'Please select additional configuration that WarpIN should perform after installing this archive.');
     302rc = lineout(sInstFile, '</TEXT>');
     303rc = lineout(sInstFile, '</PAGE>');
     304rc = lineout(sInstFile, '<PAGE INDEX=6 TYPE=TEXT>');
     305rc = lineout(sInstFile, '<NEXTBUTTON TARGET=0>I~nstall</NEXTBUTTON>');
     306rc = lineout(sInstFile, '<TEXT>');
     307rc = lineout(sInstFile, 'Press "Install" to begin installing Odin.</TEXT>');
     308rc = lineout(sInstFile, '</PAGE>');
     309rc = lineout(sInstFile, '</BODY>');
     310rc = lineout(sInstFile, '</WARPIN>');
     311rc = lineout(sInstFile, '');
     312lrc= lineout(sInstFile);
     313return rc;
     314
     315
     316
     317/*
     318 * Determins the archive name.
     319 */
     320MakeArchiveName: procedure;
     321parse arg sDllDir
     322sDllDir = filespec('name', sDllDir);
     323return directory()||'\odin32bin-'||date('S')||'-'||sDllDir||'.wpi';
     324
     325
     326
     327/*
     328 * Procedure which packs the files and script into the .wpi file.
     329 */
     330PackFiles: procedure;
     331parse arg sInstFile, sDllDir, sInstallArchive
     332
     333/*
     334 * Determin directories and wic.exe commandline.
     335 */
     336sCurDir = directory();
     337sMainDir = filespec('path', sCurDir);
     338sMainDir = filespec('path', substr(sMainDir, 1, length(sMainDir) - 1));
     339sMainDir = filespec('drive', sCurDir) || substr(sMainDir, 1, length(sMainDir) - 1);
     340sDocDir = sMainDir||'\doc'
     341sBinDir = sMainDir||'\bin';
     342sDllDir = sBinDir||'\'||sDllDir;
     343sWICCmd = 'wic.exe '||sInstallArchive ' -a';
     344
     345/*
     346 * Remove any old target install archive file.
     347 */
     348call SysFileDelete sInstallArchive
     349
     350/*
     351 * Script
     352 */
     353'wic.exe' sInstallArchive '-s' sInstFile
     354
     355/*
     356 * Packet 1
     357 */
     358sWICCmd '1 -c'||sMainDir 'ChangeLog LICENSE.TXT';
     359if (rc <> 0) then return rc;
     360sWICCmd '1 -c'||sDocDir 'ChangeLog-1999 ChangeLog-2000 Readme.txt ReportingBugs.txt Logging.txt';
     361if (rc <> 0) then return rc;
     362
     363/*
     364 * Packet 2
     365 */
     366say sWICCmd '2 -c'||sBinDir' *.ini 2 -c'||sDllDir '*.dll pe.exe pec.exe odininst.exe regsvr32.exe win32k.sys win32k.ddp Win32kCC.exe kRx.exe';
     367sWICCmd '2 -c'||sBinDir' *.ini';
     368if (rc <> 0) then return rc;
     369sWICCmd '2 -c'||sDllDir 'pe.exe *.dll pec.exe odininst.exe regsvr32.exe win32k.sys win32k.ddp Win32kCC.exe kRx.exe';
     370if (rc <> 0) then return rc;
     371if (pos('DEBUG', translate(filespec('name', sDllDir))) > 0) then
    225372do
    226         dlldir = "bin\debug";
    227         installarchive = "odin32bin-"date('S')"-debug"
     373    sWICCmd '2 -c'||sDllDir '*.sym';
     374    if (rc <> 0) then return rc;
    228375end
    229 else
    230 do
    231         dlldir = "bin\release";
    232         installarchive = "odin32bin-"date('S')"-release"
    233 end
    234 
    235 maindir = "..\..";
    236 
    237 "del "installarchive".wpi";
    238 
    239 "copy ..\..\ChangeLog"
    240 "wic.exe "curdir"\"installarchive" -a 1 ChangeLog";
    241 
    242 call directory maindir;
    243 "wic.exe "curdir"\"installarchive" -a 1 LICENSE.TXT";
    244 
    245 call directory doc
    246 "wic.exe "curdir"\"installarchive" -a 1 ChangeLog-1999 ChangeLog-2000 Readme.txt ReportingBugs.txt Logging.txt";
    247 call directory ".."
    248 
    249 call directory dlldir;
    250 if cmdline = "debug"
    251 then
    252 do
    253 "wic.exe "curdir"\"installarchive" -a 2 *.dll *.sym pe.exe pec.exe odininst.exe regsvr32.exe *.ini win32k.sys win32k.ddp Win32kCC.exe kRx.exe";
    254 end
    255 else
    256 do
    257 "wic.exe "curdir"\"installarchive" -a 2 *.dll pe.exe pec.exe odininst.exe regsvr32.exe *.ini win32k.sys win32k.ddp Win32kCC.exe kRx.exe";
    258 end
    259 
    260 call directory "Glide"
    261 "wic.exe "curdir"\"installarchive" -a 3 *.dll";
    262 
    263 call directory "Voodoo1"
    264 "wic.exe "curdir"\"installarchive" -a 4 *.dll";
    265 
    266 call directory "..\Voodoo2"
    267 "wic.exe "curdir"\"installarchive" -a 5 *.dll";
    268 
    269 call directory curdir;
    270 
    271 /* add script */
    272 "wic.exe "curdir"\"installarchive" -s "curdir"\odininst.wis"
    273 
    274 exit;
    275 
    276 GetBootDrive: procedure
    277     parse upper value VALUE( "PATH",, "OS2ENVIRONMENT" ) with "\OS2\SYSTEM" -2 boot_drive +2
    278 return boot_drive
    279 
     376
     377/*
     378 * Packet 3 is only win32k.sys config.sys line but it seems like we have to add something.
     379 */
     380sWICCmd '3 -c'||sDllDir '*.ddp';
     381if (rc <> 0) then return rc;
     382
     383/*
     384 * Packet 4
     385 */
     386sWICCmd '4 -c'||sDllDir||'\Glide *.dll';
     387if (rc <> 0) then return rc;
     388
     389/*
     390 * Packet 5
     391 */
     392sWICCmd '5 -c'||sDllDir||'\Glide\Voodoo1 *.dll';
     393if (rc <> 0) then return rc;
     394
     395/*
     396 * Packet 6
     397 */
     398sWICCmd '6 -c'||sDllDir||'\Glide\Voodoo2 *.dll';
     399if (rc <> 0) then return rc;
     400
     401return rc;
     402
Note: See TracChangeset for help on using the changeset viewer.