Skip to content

Commit

Permalink
checking in for asasaki, bug 23560 to version windows dlls; r=cls, le…
Browse files Browse the repository at this point in the history
…af a=asa
  • Loading branch information
leaf%mozilla.org committed Mar 22, 2002
1 parent c0b9024 commit 47d9c40
Show file tree
Hide file tree
Showing 7 changed files with 708 additions and 0 deletions.
120 changes: 120 additions & 0 deletions config/milestone.pl
@@ -0,0 +1,120 @@
#!/usr/bin/perl -w
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Win32 Version System.
#
# The Initial Developer of the Original Code is Aki Sasaki <asasaki@netscape.com>
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

use Getopt::Long;

use strict;
use vars qw(
$TOPSRCDIR
$MILESTONE_FILE
$MILESTONE
$MILESTONE_NUM
@MILESTONE_PARTS
$MILESTONE_BUILD
$MILESTONE_QUALIFIER
$opt_getms
$opt_debug
$opt_help
);

&GetOptions('topsrcdir=s' => \$TOPSRCDIR, 'getms', 'debug', 'help');

if (defined($opt_help)) {
&usage();
exit;
}

$MILESTONE_FILE = "$TOPSRCDIR/config/milestone.txt";
@MILESTONE_PARTS = (0, 0, 0, 0);
$MILESTONE_QUALIFIER = "";

#
# Grab milestone (top line of $MILESTONE_FILE that starts with a digit)
#
open(FILE,"$MILESTONE_FILE") ||
die ("Can't open $MILESTONE_FILE for reading!");
$MILESTONE = <FILE>;
while($MILESTONE =~ /^\s*#/ || $MILESTONE !~ /^\d/) {
$MILESTONE = <FILE>;
}
close(FILE);
chomp($MILESTONE);
$MILESTONE_NUM = $MILESTONE;

#
# Split the milestone into parts (major, minor, minor2, minor3, ...)
#
if ($MILESTONE =~ /\D$/) { # for things like 0.9.9+, strip off the +
$MILESTONE_QUALIFIER = $MILESTONE;
$MILESTONE_QUALIFIER =~ s/.*\d//;
$MILESTONE_NUM =~ s/\D*$//;
}
if ($MILESTONE_NUM =~ /[^0-9\.]/) {
die(<<END
Illegal milestone $MILESTONE in $MILESTONE_FILE!
A proper milestone would look like
x.x.x
x.x.x.x
x.x.x+
END
);
}
@MILESTONE_PARTS = split(/\./, $MILESTONE_NUM);

if ($opt_debug) {
print ("MS $MILESTONE MSNUM $MILESTONE_NUM MSQ $MILESTONE_QUALIFIER MS_PARTS @MILESTONE_PARTS\n");
}

if ($opt_getms && !$MILESTONE_QUALIFIER) {
print "$MILESTONE";
exit;
}

# TODO
# Later on I'll add options to update *all* hardcoded versions in
# the source tree...
# probably have a file listing all files that need to be changed,
# and replace them with templates that have __MOZ_MAJOR_VERSION__
# or whatever in place of 0, __MOZ_MINOR_VERSION__ instead of 9,
# etc., given the right options.

sub usage() {
print <<END
`milestone.pl [--topsrcdir TOPSRCDIR] --getms` # will output \$MILESTONE if no '+'
END
;
}
14 changes: 14 additions & 0 deletions config/milestone.txt
@@ -0,0 +1,14 @@
# Holds the current milestone.
# Should be in the format of
#
# x.x.x
# x.x.x.x
# x.x.x+
#
# Referenced by milestone.pl.
# Hopefully I'll be able to automate replacement of *all*
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------


0.9.9+
1 change: 1 addition & 0 deletions config/rules.mak
Expand Up @@ -739,6 +739,7 @@ $(OBJDIR):
#// Include the makefile for building the various targets...
#//
#//------------------------------------------------------------------------
include <$(DEPTH)/config/version.inc>
include <$(DEPTH)/config/obj.inc>
include <$(DEPTH)/config/exe.inc>
include <$(DEPTH)/config/dll.inc>
Expand Down
4 changes: 4 additions & 0 deletions config/rules.mk
Expand Up @@ -80,6 +80,10 @@ ifdef CROSS_COMPILE
HOST_AR_FLAGS = $(AR_FLAGS)
endif

ifndef INCLUDED_VERSION_MK
include $(topsrcdir)/config/version.mk
endif

REPORT_BUILD = @echo $(notdir $<)

ifeq ($(OS_ARCH),OS2)
Expand Down
84 changes: 84 additions & 0 deletions config/version.inc
@@ -0,0 +1,84 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Win32 Version System.
#
# The Initial Developer of the Original Code is Aki Sasaki <asasaki@netscape.com>
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

!if !defined(CONFIG_RESFILE_INC)
CONFIG_RESFILE_INC=1

!if !defined(RESFILE) && (defined(DLL) || defined(PROGRAM))

#//------------------------------------------------------------------------
#// Build .rc and .res files if $(RESFILE) isn't defined.
#// PBI : ??
#// DEBUG : $(MOZ_DEBUG)
#// OFFICIAL : $(MOZILLA_OFFICIAL)
#// MSTONE : grabs automagically
#// OBJDIR : $(OBJDIR)
#// MODNAME : $(MODULE)
#// DEPTH : $(DEPTH)
#// BINARY : ??
#// BITS : $(MOZ_BITS)
#// RCINCLUDE: ??
#// QUIET : 1
#//------------------------------------------------------------------------

_RC_STRING = -OBJDIR $(OBJDIR) -DEPTH $(DEPTH) -TOPSRCDIR $(topsrcdir) -BITS $(MOZ_BITS) -QUIET 1 -SRCDIR .
!if defined(MOZ_DEBUG)
_RC_STRING = $(_RC_STRING) -DEBUG 1
!endif
!if defined(MOZILLA_OFFICIAL) || defined(BUILD_OFFICIAL)
_RC_STRING = $(_RC_STRING) -OFFICIAL 1
!endif
!if defined(MODULE)
_RC_STRING = $(_RC_STRING) -MODNAME $(MODULE)
!endif

RESFILE=$(OBJDIR)\module.res

all::

$(RESFILE):: $(OBJDIR)\module.rc

$(OBJDIR)\module.rc:
echo $(PERL) $(topsrcdir)\config\version_win.pl $(_RC_STRING)
$(PERL) $(topsrcdir)\config\version_win.pl $(_RC_STRING)
$(RC) $(OBJDIR)\module.rc

clobber_resfile:
-rm -f $(RESFILE) $(OBJDIR)\module.rc

clobber:: clobber_resfile

!endif
!endif # !CONFIG_RESFILE_INC
80 changes: 80 additions & 0 deletions config/version.mk
@@ -0,0 +1,80 @@
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is the Win32 Version System.
#
# The Initial Developer of the Original Code is Aki Sasaki <asasaki@netscape.com>
# Portions created by the Initial Developer are Copyright (C) 2001
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****

ifndef INCLUDED_VERSION_MK
INCLUDED_VERSION_MK=1



# Windows gmake build:
# Build default .rc file if $(RESFILE) isn't defined.
# TODO:
# PBI : ??
# BINARY : ??
# RCINCLUDE: ??
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
ifndef RESFILE
RCFILE=./module.rc
RESFILE=./module.res
_RC_STRING = -QUIET 1 -DEPTH $(DEPTH) -TOPSRCDIR $(topsrcdir) -BITS $(MOZ_BITS) -OBJDIR . -SRCDIR $(srcdir)
ifneq ($(origin BUILD_OFFICIAL)_$(origin MOZILLA_OFFICIAL),undefined_undefined)
_RC_STRING += -OFFICIAL 1
endif
ifdef MOZ_DEBUG
_RC_STRING += -DEBUG 1
endif
ifdef MODULE
_RC_STRING += -MODNAME $(MODULE)
endif

GARBAGE += $(RESFILE) $(RCFILE)

#dummy target so clean_resfile doesn't become the default =P
all::

clean_resfile:
-rm -f $(RESFILE) $(RCFILE)

clean:: clean_resfile

$(RCFILE):
$(PERL) $(topsrcdir)/config/version_win.pl $(_RC_STRING)

endif # RESFILE
endif # Windows



endif

0 comments on commit 47d9c40

Please sign in to comment.