Subversion Repositories DevTools

Rev

Rev 1580 | Rev 1584 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1580 Rev 1582
Line 200... Line 200...
200
    preremove.rul 
200
    preremove.rul 
201
);
201
);
202
                    
202
                    
203
my ($PKG_ISHIELD_DEF_FILE) = "pkgdef.h";
203
my ($PKG_ISHIELD_DEF_FILE) = "pkgdef.h";
204
my ($PKG_ISHIELD_DIR)      = "";
204
my ($PKG_ISHIELD_DIR)      = "";
-
 
205
my ($ISHIELD_PROJECT) = "";
205
 
206
 
206
my ($PKG_UTIL_DIR)   = "";
207
my ($PKG_UTIL_DIR)   = "";
207
my ($PATCH_UTIL_DIR) = "";
208
my ($PATCH_UTIL_DIR) = "";
208
 
209
 
209
 
210
 
Line 4173... Line 4174...
4173
 
4174
 
4174
    # lets determine if we have a InstallShield config dir
4175
    # lets determine if we have a InstallShield config dir
4175
    #
4176
    #
4176
    if ( "$MachType" eq "win32" || "$MachType" eq "WinCE" )
4177
    if ( "$MachType" eq "win32" || "$MachType" eq "WinCE" )
4177
    {
4178
    {
4178
 
-
 
4179
        # if this is a patch build i expect to find a "p" in the front of the
4179
        # if this is a patch build i expect to find a "p" in the front of the
4180
        # file names. we use this as a simple visual differentiation.
4180
        # file names. we use this as a simple visual differentiation.
4181
        #
4181
        #
4182
        my ($m_ishieldDir);    
4182
        my $m_ishieldDir;
4183
        my ($m_ishieldProjFile);
4183
        my $m_ishieldProjFile;
-
 
4184
        my $m_ishieldRoot;
-
 
4185
 
4184
        if ( "x$PkgPatchNum" ne "x" )
4186
        if ( "x$PkgPatchNum" ne "x" )
4185
        {
4187
        {
4186
            # patch build.
4188
            # patch build.
4187
            $m_ishieldDir      = "$RootDir/" . "p$PkgName";
4189
            $m_ishieldProjFile = "p${PkgName}.ism";
4188
            $m_ishieldProjFile = "$RootDir/" . "p$PkgName" . ".ism";
4190
            $m_ishieldDir = "p${PkgName}";
4189
        }
4191
        }
4190
        else
4192
        else
4191
        {
4193
        {
4192
            # normal build.
4194
            # normal build.
4193
            $m_ishieldDir      = "$RootDir/" . "$PkgName";
4195
            $m_ishieldProjFile = "${PkgName}.ism";
4194
            $m_ishieldProjFile = "$RootDir/" . "$PkgName" . ".ism";
4196
            $m_ishieldDir = "${PkgName}";
4195
        }
4197
        }
4196
 
4198
 
-
 
4199
        #
4197
        # here i can set the location of my IShield project dir
4200
        #   Expect the project file in one of several well known locations
-
 
4201
        #       Root of package
4198
        # so i can use it later if required.
4202
        #       Current directory
-
 
4203
        #
-
 
4204
        if ( -f "$RootDir/$m_ishieldProjFile" ) {
-
 
4205
            $m_ishieldRoot = $RootDir;
-
 
4206
 
-
 
4207
        } elsif ( -f "$CurrentDir/$m_ishieldProjFile" ) {
4199
        $PKG_ISHIELD_DIR = $m_ishieldDir;
4208
            $m_ishieldRoot = $CurrentDir;
-
 
4209
        }
4200
 
4210
 
4201
 
4211
 
4202
        # we check for an ism file based on the pkg name
4212
        # we check for an ism file based on the pkg name
4203
        # if we find one we need to deal with the dir and
4213
        # if we find one we need to deal with the dir and
4204
        # the isheildlib files.
4214
        # the isheildlib files.
4205
        #
4215
        #
4206
        if ( -f "$m_ishieldProjFile" )
4216
        if ( defined $m_ishieldRoot )
4207
        {
4217
        {
-
 
4218
            $m_ishieldProjFile = $m_ishieldRoot . '/' . $m_ishieldProjFile;
-
 
4219
            $m_ishieldDir = $m_ishieldRoot . '/' . $m_ishieldDir;
-
 
4220
 
-
 
4221
            # here i can set the location of my IShield project dir
-
 
4222
            # so i can use it later if required.
-
 
4223
            $PKG_ISHIELD_DIR = $m_ishieldDir;
-
 
4224
            $ISHIELD_PROJECT = $m_ishieldProjFile;
-
 
4225
 
4208
            if ( ! -d "$m_ishieldDir" )
4226
            if ( ! -d "$m_ishieldDir" )
4209
            {
4227
            {
4210
                Error ("Local InstallShield config dir [$m_ishieldDir] does not exist.",
4228
                Error ("Local InstallShield config dir [$m_ishieldDir] does not exist.",
4211
                       "Please create before continuing.");
4229
                       "Please create before continuing.");
4212
            }
4230
            }
Line 4251... Line 4269...
4251
                        }
4269
                        }
4252
                    }
4270
                    }
4253
                }
4271
                }
4254
 
4272
 
4255
 
4273
 
4256
                # we also want to deliver the islib imgages to be
4274
                # we also want to deliver the islib images to be
4257
                # used by this project, we assume the image has a project
4275
                # used by this project, we assume the image has a project
4258
                # acronym prefix, and if not found we just WARN the user
4276
                # acronym prefix, and if not found we just WARN the user
4259
                #
4277
                #
4260
                # we assume our source dir is the interface/etc dir and our
4278
                # we assume our source dir is the interface/etc dir and our
4261
                # dst dir is the PkgBaseDir
4279
                # dst dir is the PkgBaseDir
Line 4325... Line 4343...
4325
#
4343
#
4326
#     The output location of the file is the IShieldProjDir.
4344
#     The output location of the file is the IShieldProjDir.
4327
#    
4345
#    
4328
#------------------------------------------------------------------------------
4346
#------------------------------------------------------------------------------
4329
{
4347
{
4330
    my ($outFile) = "$PKG_ISHIELD_DIR/$PKG_ISHIELD_DEF_FILE";
4348
    my ($outFile);
4331
 
-
 
4332
    # this is only relavent for win32 builds.
4349
    # this is only relavent for win32 builds.
4333
    if ( "$MachType" eq "sparc" )
4350
    if ( "$MachType" eq "sparc" )
4334
    {
4351
    {
4335
        return 1;
4352
        return 1;
4336
    }
4353
    }
4337
 
4354
 
-
 
4355
    #
-
 
4356
    #   Ignore directive if the IS project was not found
-
 
4357
    #
-
 
4358
    unless( $PKG_ISHIELD_DIR )
-
 
4359
    {
-
 
4360
        Warning ("generateIShieldIncludeFile: Ignored as no InstallShield project was found");
-
 
4361
        return 1
-
 
4362
    }
-
 
4363
 
-
 
4364
    $outFile = "$PKG_ISHIELD_DIR/$PKG_ISHIELD_DEF_FILE";
-
 
4365
 
4338
    # lets open the file.
4366
    # lets open the file.
4339
    #
4367
    #
4340
    local *FILE;
4368
    local *FILE;
4341
    open ( FILE, "> $outFile") or
4369
    open ( FILE, "> $outFile") or
4342
        Error("Failed to open file [$outFile].");
4370
        Error("Failed to open file [$outFile].");
Line 4882... Line 4910...
4882
#       Invoke the isbuild.pl utility to build the install shield project
4910
#       Invoke the isbuild.pl utility to build the install shield project
4883
#
4911
#
4884
#------------------------------------------------------------------------------
4912
#------------------------------------------------------------------------------
4885
{
4913
{
4886
    Verbose("createPackage_win32");
4914
    Verbose("createPackage_win32");
-
 
4915
    Error ("InstallShield project not found")
-
 
4916
        unless ( $ISHIELD_PROJECT && -f $ISHIELD_PROJECT );
4887
 
4917
 
4888
    #
4918
    #
4889
    #   Process any options that may be present
4919
    #   Process any options that may be present
4890
    #   Don't complain about args we don't understand. They may apply to other
4920
    #   Don't complain about args we don't understand. They may apply to other
4891
    #   platforms
4921
    #   platforms
Line 4997... Line 5027...
4997
    #
5027
    #
4998
 
5028
 
4999
    Error("isbuild.pl not found") unless $prog_found;
5029
    Error("isbuild.pl not found") unless $prog_found;
5000
    Verbose("isbuild: $prog");
5030
    Verbose("isbuild: $prog");
5001
    my $rv = system ( $ENV{GBE_PERL}, $prog,
5031
    my $rv = system ( $ENV{GBE_PERL}, $prog,
5002
                            "-project=../$PkgName.ism",
5032
                            "-project=$ISHIELD_PROJECT",
5003
                            "-version=$PkgVersionUser",
5033
                            "-version=$PkgVersionUser",
5004
                            "-out=$ReleaseDir",
5034
                            "-out=$ReleaseDir",
5005
                            "-workdir=$RootDir",
5035
                            "-workdir=$RootDir",
5006
                            @user_options,
5036
                            @user_options,
5007
                            map { "-mergemodule=$_" } @mm_dirs
5037
                            map { "-mergemodule=$_" } @mm_dirs