Compare commits
16 Commits
NSS_BOB
...
NSS_AUTOCO
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06a10ddd33 | ||
|
|
0967aa0d9d | ||
|
|
b9ea8b73b6 | ||
|
|
d98239f6ef | ||
|
|
6a3da5b8d0 | ||
|
|
21726a1a01 | ||
|
|
8f342352d8 | ||
|
|
48fcb44f8f | ||
|
|
1ea6d101a1 | ||
|
|
561359892c | ||
|
|
6d81b5c451 | ||
|
|
dd2e64bdc2 | ||
|
|
efe6072055 | ||
|
|
b2ae3f4ad2 | ||
|
|
343b792e49 | ||
|
|
91b7542510 |
179
mozilla/security/build/autoconf/acoutput-fast.pl
Executable file
179
mozilla/security/build/autoconf/acoutput-fast.pl
Executable file
@@ -0,0 +1,179 @@
|
||||
#! /usr/bin/env perl
|
||||
#
|
||||
# The contents of this file are subject to the Netscape 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/NPL/
|
||||
#
|
||||
# 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 mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
# acoutput-fast.pl - Quickly create makefiles that are in a common format.
|
||||
#
|
||||
# Most of the makefiles in mozilla only refer to two configure variables:
|
||||
# @srcdir@
|
||||
# @top_srcdir@
|
||||
# However, configure does not know any better and it runs sed on each file
|
||||
# with over 150 replacement rules (slow as molasses).
|
||||
#
|
||||
# This script takes a list of makefiles as input. For example,
|
||||
#
|
||||
# echo $MAKEFILES | acoutput-fast.pl
|
||||
#
|
||||
# The script creates each Makefile that only references @srcdir@ and
|
||||
# @top_srcdir@. For other files, it lists them in a shell command that is
|
||||
# printed to stdout:
|
||||
#
|
||||
# CONFIG_FILES="unhandled_files..."; export CONFIG_FILES
|
||||
#
|
||||
# This command can be used to have config.status create the unhandled
|
||||
# files. For example,
|
||||
#
|
||||
# eval "echo $MAKEFILES | acoutput-fast.pl"
|
||||
# AC_OUTPUT($MAKEFILES)
|
||||
#
|
||||
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
|
||||
|
||||
#use File::Basename;
|
||||
sub dirname {
|
||||
my $dir = $_[0];
|
||||
return '.' if not $dir =~ m%/%;
|
||||
$dir =~ s%/[^/][^/]*$%%;
|
||||
return $dir;
|
||||
}
|
||||
|
||||
# Create one directory. Assumes it doesn't already exist.
|
||||
# Will create parent(s) if needed.
|
||||
sub create_directory {
|
||||
my $dir = $_[0];
|
||||
my $parent = dirname($dir);
|
||||
create_directory($parent) if not -d $parent;
|
||||
mkdir "$dir",0777;
|
||||
}
|
||||
|
||||
# Create all the directories at once.
|
||||
# This can be much faster than calling mkdir() for each one.
|
||||
sub create_directories {
|
||||
my @makefiles = @_;
|
||||
my @dirs = ();
|
||||
my $ac_file;
|
||||
foreach $ac_file (@makefiles) {
|
||||
push @dirs, dirname($ac_file);
|
||||
}
|
||||
# Call mkdir with the directories sorted by subdir count (how many /'s)
|
||||
if (@dirs) {
|
||||
my $mkdir_command = "mkdir -p ". join(' ', @dirs);
|
||||
if (system($mkdir_command) != 0) {
|
||||
print STDERR "Creating dirs all at once failed; trying one at atime\n";
|
||||
foreach $dir (@dirs) {
|
||||
if (not -d $dir) {
|
||||
print STDERR "Creating directory $dir\n";
|
||||
create_directory($dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($ARGV[0] =~ /^--srcdir=/) {
|
||||
$ac_given_srcdir = (split /=/, shift @ARGV)[1];
|
||||
} else {
|
||||
$ac_given_srcdir = $0;
|
||||
$ac_given_srcdir =~ s|/?build/autoconf/.*$||;
|
||||
$ac_given_srcdir = '.' if $ac_given_srcdir eq '';
|
||||
}
|
||||
|
||||
# Read list of makefiles from the stdin or,
|
||||
# from files listed on the command-line.
|
||||
#
|
||||
@makefiles=();
|
||||
push @makefiles, split while (<>);
|
||||
|
||||
# Create all the directories at once.
|
||||
# This can be much faster than calling mkdir() for each one.
|
||||
create_directories(@makefiles);
|
||||
|
||||
# Output the makefiles.
|
||||
#
|
||||
@unhandled=();
|
||||
foreach $ac_file (@makefiles) {
|
||||
if (not $ac_file =~ /Makefile$/ or $ac_file =~ /:/) {
|
||||
push @unhandled, $ac_file;
|
||||
next;
|
||||
}
|
||||
$ac_file_in = "$ac_given_srcdir/$ac_file.in";
|
||||
$ac_dir = dirname($ac_file);
|
||||
if ($ac_dir eq '.') {
|
||||
$ac_dir_suffix = '';
|
||||
$ac_dots = '';
|
||||
} else {
|
||||
$ac_dir_suffix = "/$ac_dir";
|
||||
$ac_dir_suffix =~ s%^/\./%/%;
|
||||
$ac_dots = $ac_dir_suffix;
|
||||
$ac_dots =~ s%/[^/]*%../%g;
|
||||
}
|
||||
if ($ac_given_srcdir eq '.') {
|
||||
$srcdir = '.';
|
||||
if ($ac_dots eq '') {
|
||||
$top_srcdir = '.'
|
||||
} else {
|
||||
$top_srcdir = $ac_dots;
|
||||
$top_srcdir =~ s%/$%%;
|
||||
}
|
||||
} elsif ($ac_given_srcdir =~ m%^/% or $ac_given_srcdir =~ m%^.:/%) {
|
||||
$srcdir = "$ac_given_srcdir$ac_dir_suffix";
|
||||
$top_srcdir = "$ac_given_srcdir";
|
||||
} else {
|
||||
$srcdir = "$ac_dots$ac_given_srcdir$ac_dir_suffix";
|
||||
$top_srcdir = "$ac_dots$ac_given_srcdir";
|
||||
}
|
||||
|
||||
if (-e $ac_file) {
|
||||
next if -M _ < -M $ac_file_in;
|
||||
print STDERR "updating $ac_file\n";
|
||||
} else {
|
||||
print STDERR "creating $ac_file\n";
|
||||
}
|
||||
|
||||
open (INFILE, "<$ac_file_in")
|
||||
or ( warn "can't read $ac_file_in: No such file or directory\n" and next);
|
||||
open (OUTFILE, ">$ac_file")
|
||||
or ( warn "Unable to create $ac_file\n" and next);
|
||||
|
||||
while (<INFILE>) {
|
||||
#if (/\@[_a-zA-Z]*\@.*\@[_a-zA-Z]*\@/) {
|
||||
# warn "Two defines on a line:$ac_file:$.:$_";
|
||||
# push @unhandled, $ac_file;
|
||||
# last;
|
||||
#}
|
||||
|
||||
s/\@srcdir\@/$srcdir/g;
|
||||
s/\@top_srcdir\@/$top_srcdir/g;
|
||||
|
||||
if (/\@[_a-zA-Z]*\@/) {
|
||||
warn "Unknown variable:$ac_file:$.:$_";
|
||||
push @unhandled, $ac_file;
|
||||
last;
|
||||
}
|
||||
print OUTFILE;
|
||||
}
|
||||
close INFILE;
|
||||
close OUTFILE;
|
||||
}
|
||||
|
||||
# Print the shell command to be evaluated by configure.
|
||||
#
|
||||
print "CONFIG_FILES=\"".join(' ', @unhandled)."\"; export CONFIG_FILES\n";
|
||||
|
||||
1195
mozilla/security/build/autoconf/config.guess
vendored
Executable file
1195
mozilla/security/build/autoconf/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1268
mozilla/security/build/autoconf/config.sub
vendored
Executable file
1268
mozilla/security/build/autoconf/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
119
mozilla/security/build/autoconf/install-sh
Executable file
119
mozilla/security/build/autoconf/install-sh
Executable file
@@ -0,0 +1,119 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5; it is not part of GNU.
|
||||
#
|
||||
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
#
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
|
||||
instcmd="$mvprog"
|
||||
chmodcmd=""
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dstdir=`dirname $dst`
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; fi
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; fi
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; fi
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; fi
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd $dst
|
||||
$doit $mvcmd $dsttmp $dst
|
||||
|
||||
|
||||
exit 0
|
||||
280
mozilla/security/build/autoconf/make-makefile
Executable file
280
mozilla/security/build/autoconf/make-makefile
Executable file
@@ -0,0 +1,280 @@
|
||||
#! /usr/bin/env perl
|
||||
# The contents of this file are subject to the Netscape 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/NPL/
|
||||
#
|
||||
# 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 mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
|
||||
# make-makefiles - Quickly create Makefiles for subdirectories.
|
||||
# Also, creates any needed subdirectories.
|
||||
#
|
||||
# usage: make-makefiles [ -t <topsrcdir> -d <depth> ] [ <subdir> | <subdir>/Makefile ] ...
|
||||
|
||||
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
|
||||
|
||||
#$debug = 1;
|
||||
|
||||
# Determine various tree path variables
|
||||
#
|
||||
($topsrcdir, $depth, @makefiles) = parse_arguments(@ARGV);
|
||||
|
||||
$object_fullpath = `pwd`;
|
||||
chdir $depth;
|
||||
$object_root = `pwd`;
|
||||
chomp $object_fullpath;
|
||||
chomp $object_root;
|
||||
|
||||
# $source_subdir is the path from the object root to where
|
||||
# 'make-makefile' was called. For example, if make-makefile was
|
||||
# called from "mozilla/gfx/src", then $source_subdir would be
|
||||
# "gfx/src/".
|
||||
$source_subdir = "$object_fullpath/";
|
||||
my $quoted_object_root = quotemeta($object_root);
|
||||
$source_subdir =~ s|^$quoted_object_root/||;
|
||||
|
||||
# Prefix makefiles with $source_subdir so that paths
|
||||
# will be relative to the top of the object tree.
|
||||
#
|
||||
for $makefile (@makefiles) {
|
||||
$makefile = "$source_subdir$makefile";
|
||||
}
|
||||
|
||||
create_directories(@makefiles);
|
||||
|
||||
# Find the path to the source directory based on how 'make-makefile'
|
||||
# was invoked. The path is either relative to the object directory
|
||||
# or an absolute path.
|
||||
$given_srcdir = find_srcdir($topsrcdir, $depth);
|
||||
|
||||
if ($debug) {
|
||||
warn "object_fullpath = $object_fullpath\n";
|
||||
warn "object_root = $object_root\n";
|
||||
warn "source_subdir = $source_subdir\n";
|
||||
warn "makefiles = @makefiles\n";
|
||||
warn "given_srcdir = $given_srcdir\n";
|
||||
}
|
||||
|
||||
@unhandled = update_makefiles($given_srcdir, @makefiles);
|
||||
|
||||
run_config_status(@unhandled);
|
||||
|
||||
# end of Main
|
||||
############################################################
|
||||
|
||||
sub dirname {
|
||||
return $_[0] =~ /(.*)\/.*/ ? "$1" : '.';
|
||||
}
|
||||
|
||||
# find_depth: Pull the value of DEPTH out of a Makefile (or Makefile.in)
|
||||
sub find_depth {
|
||||
my $depth = '';
|
||||
open(MAKEFILE, "<$_[0]") || die "Unable to open $_[0]: $!\n";
|
||||
while (<MAKEFILE>) {
|
||||
next unless /^DEPTH\s*=\s*(\..*)/;
|
||||
$depth = $1;
|
||||
last;
|
||||
}
|
||||
close MAKEFILE;
|
||||
return $depth;
|
||||
}
|
||||
|
||||
sub parse_arguments {
|
||||
my @args = @_;
|
||||
my $depth = '';
|
||||
my $topsrcdir = '';
|
||||
my @makefiles = ();
|
||||
|
||||
while (1) {
|
||||
if ($args[0] eq '-d') {
|
||||
$depth = $args[1];
|
||||
shift @args;
|
||||
shift @args;
|
||||
} elsif ($args[0] eq '-t') {
|
||||
$topsrcdir = $args[1];
|
||||
shift @args;
|
||||
shift @args;
|
||||
} else {
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
if ($topsrcdir eq '') {
|
||||
$topsrcdir = $0; # Figure out topsrcdir based on program name.
|
||||
$topsrcdir =~ s|/?build/autoconf/.*$||;
|
||||
}
|
||||
if ($depth eq '') {
|
||||
# Use $(DEPTH) in the Makefile or Makefile.in to determine the depth
|
||||
if (-e "Makefile.in") {
|
||||
$depth = find_depth("Makefile.in");
|
||||
} elsif (-e "Makefile") {
|
||||
$depth = find_depth("Makefile");
|
||||
} elsif (-e "../Makefile") {
|
||||
$depth = "../".find_depth("../Makefile");
|
||||
$depth =~ s/\/\.$//;
|
||||
} else {
|
||||
warn "Unable to determine depth (e.g. ../..) to root of objdir tree.\n";
|
||||
die "No Makefile(.in) present. Try running with '-d <depth>'\n";
|
||||
}
|
||||
}
|
||||
|
||||
# Build the list of makefiles to generate
|
||||
#
|
||||
@makefiles = ();
|
||||
my $makefile;
|
||||
foreach $makefile (@args) {
|
||||
$makefile =~ s/\.in$//;
|
||||
$makefile =~ s/\/$//;
|
||||
$makefile =~ /Makefile$/ or $makefile .= "/Makefile";
|
||||
push @makefiles, "$makefile";
|
||||
}
|
||||
@makefiles = "Makefile" unless @args;
|
||||
|
||||
return ($topsrcdir, $depth, @makefiles);
|
||||
}
|
||||
|
||||
|
||||
# Create all the directories at once.
|
||||
# This can be much faster than calling mkdir() for each one.
|
||||
sub create_directories {
|
||||
my @makefiles = @_;
|
||||
my @dirs = ();
|
||||
my $ac_file;
|
||||
foreach $ac_file (@makefiles) {
|
||||
push @dirs, dirname($ac_file);
|
||||
}
|
||||
# Call mkdir with the directories sorted by subdir count (how many /'s)
|
||||
system "mkdir -p ". join(' ', @dirs) if @dirs;
|
||||
}
|
||||
|
||||
# Find the top of the source directory
|
||||
# (Assuming that the executable is in $top_srcdir/build/autoconf)
|
||||
sub find_srcdir {
|
||||
my ($ac_given_srcdir, $depth) = @_;
|
||||
|
||||
if ($debug) {
|
||||
print "ac_given_srcdir = $ac_given_srcdir\n";
|
||||
print "depth = $depth\n";
|
||||
}
|
||||
if ($ac_given_srcdir =~ /^\./ and $depth ne '.') {
|
||||
my $quoted_depth = quotemeta($depth);
|
||||
$ac_given_srcdir =~ s|^$quoted_depth/?||;
|
||||
}
|
||||
if ($debug) {
|
||||
print "ac_given_srcdir = $ac_given_srcdir\n";
|
||||
}
|
||||
$ac_given_srcdir = '.' if $ac_given_srcdir eq '';
|
||||
return $ac_given_srcdir;
|
||||
}
|
||||
|
||||
# Output the makefiles.
|
||||
#
|
||||
sub update_makefiles {
|
||||
my ($ac_given_srcdir, @makefiles) = @_;
|
||||
my @unhandled=();
|
||||
|
||||
my $ac_file;
|
||||
foreach $ac_file (@makefiles) {
|
||||
my $ac_file_in = "$ac_given_srcdir/${ac_file}.in";
|
||||
my $ac_dir = dirname($ac_file);
|
||||
my $ac_dots = '';
|
||||
my $ac_dir_suffix = '';
|
||||
my $srcdir = '.';
|
||||
my $top_srcdir = '.';
|
||||
|
||||
# Determine $srcdir and $top_srcdir
|
||||
#
|
||||
if ($ac_dir ne '.') {
|
||||
$ac_dir_suffix = "/$ac_dir";
|
||||
$ac_dir_suffix =~ s%^/\./%/%;
|
||||
$ac_dots = $ac_dir_suffix;
|
||||
$ac_dots =~ s%/[^/]*%../%g;
|
||||
}
|
||||
if ($ac_given_srcdir eq '.') {
|
||||
if ($ac_dots ne '') {
|
||||
$top_srcdir = $ac_dots;
|
||||
$top_srcdir =~ s%/$%%;
|
||||
}
|
||||
} elsif ($ac_given_srcdir =~ m%^/% or $ac_given_srcdir =~ m%^.:/%) {
|
||||
$srcdir = "$ac_given_srcdir$ac_dir_suffix";
|
||||
$top_srcdir = "$ac_given_srcdir";
|
||||
} else {
|
||||
$srcdir = "$ac_dots$ac_given_srcdir$ac_dir_suffix";
|
||||
$top_srcdir = "$ac_dots$ac_given_srcdir";
|
||||
}
|
||||
|
||||
if ($debug) {
|
||||
print "ac_dir = $ac_dir\n";
|
||||
print "ac_file = $ac_file\n";
|
||||
print "ac_file_in = $ac_file_in\n";
|
||||
print "srcdir = $srcdir\n";
|
||||
print "top_srcdir = $top_srcdir\n";
|
||||
print "cwd = " . `pwd` . "\n";
|
||||
}
|
||||
|
||||
# Copy the file and make substitutions.
|
||||
# @srcdir@ -> value of $srcdir
|
||||
# @top_srcdir@ -> value of $top_srcdir
|
||||
#
|
||||
if (-e $ac_file) {
|
||||
next if -M _ < -M $ac_file_in; # Next if Makefile is up-to-date.
|
||||
warn "updating $ac_file\n";
|
||||
} else {
|
||||
warn "creating $ac_file\n";
|
||||
}
|
||||
|
||||
open INFILE, "<$ac_file_in" or do {
|
||||
warn "$0: Cannot read $ac_file_in: No such file or directory\n";
|
||||
next;
|
||||
};
|
||||
open OUTFILE, ">$ac_file" or do {
|
||||
warn "$0: Unable to create $ac_file\n";
|
||||
next;
|
||||
};
|
||||
|
||||
while (<INFILE>) {
|
||||
#if (/\@[_a-zA-Z]*\@.*\@[_a-zA-Z]*\@/) {
|
||||
# #warn "Two defines on a line:$ac_file:$.:$_";
|
||||
# push @unhandled, $ac_file;
|
||||
# last;
|
||||
#}
|
||||
|
||||
s/\@srcdir\@/$srcdir/g;
|
||||
s/\@top_srcdir\@/$top_srcdir/g;
|
||||
|
||||
if (/\@[_a-zA-Z]*\@/) {
|
||||
#warn "Unknown variable:$ac_file:$.:$_";
|
||||
push @unhandled, $ac_file;
|
||||
last;
|
||||
}
|
||||
print OUTFILE;
|
||||
}
|
||||
close INFILE;
|
||||
close OUTFILE;
|
||||
}
|
||||
return @unhandled;
|
||||
}
|
||||
|
||||
sub run_config_status {
|
||||
my @unhandled = @_;
|
||||
|
||||
# Run config.status with any unhandled files.
|
||||
#
|
||||
if (@unhandled) {
|
||||
$ENV{CONFIG_FILES}= join ' ', @unhandled;
|
||||
system "./config.status";
|
||||
}
|
||||
}
|
||||
67
mozilla/security/build/autoconf/nspr.m4
Normal file
67
mozilla/security/build/autoconf/nspr.m4
Normal file
@@ -0,0 +1,67 @@
|
||||
# -*- tab-width: 4; -*-
|
||||
# Configure paths for NSPR
|
||||
# Public domain - Chris Seawood <cls@seawood.org> 2001-04-05
|
||||
# Based upon gtk.m4 (also PD) by Owen Taylor
|
||||
|
||||
dnl AM_PATH_NSPR([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
||||
dnl Test for NSPR, and define NSPR_CFLAGS and NSPR_LIBS
|
||||
AC_DEFUN(AM_PATH_NSPR,
|
||||
[dnl
|
||||
|
||||
AC_ARG_WITH(nspr-prefix,
|
||||
[ --with-nspr-prefix=PFX Prefix where NSPR is installed],
|
||||
nspr_config_prefix="$withval",
|
||||
nspr_config_prefix="")
|
||||
|
||||
AC_ARG_WITH(nspr-exec-prefix,
|
||||
[ --with-nspr-exec-prefix=PFX
|
||||
Exec prefix where NSPR is installed],
|
||||
nspr_config_exec_prefix="$withval",
|
||||
nspr_config_exec_prefix="")
|
||||
|
||||
if test -n "$nspr_config_exec_prefix"; then
|
||||
nspr_config_args="$nspr_config_args --exec-prefix=$nspr_config_exec_prefix"
|
||||
if test -z "$NSPR_CONFIG"; then
|
||||
NSPR_CONFIG=$nspr_config_exec_prefix/bin/nspr-config
|
||||
fi
|
||||
fi
|
||||
if test -n "$nspr_config_prefix"; then
|
||||
nspr_config_args="$nspr_config_args --prefix=$nspr_config_prefix"
|
||||
if test -z "$NSPR_CONFIG"; then
|
||||
NSPR_CONFIG=$nspr_config_prefix/bin/nspr-config
|
||||
fi
|
||||
fi
|
||||
|
||||
unset ac_cv_path_NSPR_CONFIG
|
||||
AC_PATH_PROG(NSPR_CONFIG, nspr-config, no)
|
||||
min_nspr_version=ifelse([$1], ,4.0.0,$1)
|
||||
AC_MSG_CHECKING(for NSPR - version >= $min_nspr_version (skipping))
|
||||
|
||||
no_nspr=""
|
||||
if test "$NSPR_CONFIG" = "no"; then
|
||||
no_nspr="yes"
|
||||
else
|
||||
NSPR_CFLAGS=`$NSPR_CONFIG $nspr_config_args --cflags`
|
||||
NSPR_LIBS=`$NSPR_CONFIG $nspr_config_args --libs`
|
||||
|
||||
dnl Skip version check for now
|
||||
nspr_config_major_version=`$NSPR_CONFIG $nspr_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
nspr_config_minor_version=`$NSPR_CONFIG $nspr_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
nspr_config_micro_version=`$NSPR_CONFIG $nspr_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
fi
|
||||
|
||||
if test -z "$no_nspr"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
ifelse([$2], , :, [$2])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
|
||||
AC_SUBST(NSPR_CFLAGS)
|
||||
AC_SUBST(NSPR_LIBS)
|
||||
|
||||
])
|
||||
115
mozilla/security/build/unix/mddepend.pl
Executable file
115
mozilla/security/build/unix/mddepend.pl
Executable file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
# The contents of this file are subject to the Netscape 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/NPL/
|
||||
#
|
||||
# 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 this file as it was released upon March 8, 1999.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape Communications
|
||||
# Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
|
||||
# mddepend.pl - Reads in dependencies generated my -MD flag. Prints list
|
||||
# of objects that need to be rebuilt. These can then be added to the
|
||||
# PHONY target. Using this script copes with the problem of header
|
||||
# files that have been removed from the build.
|
||||
#
|
||||
# Usage:
|
||||
# mddepend.pl <output_file> <dependency_files...>
|
||||
#
|
||||
# Send comments, improvements, bugs to Steve Lamm (slamm@netscape.com).
|
||||
|
||||
#$debug = 1;
|
||||
|
||||
$outfile = shift @ARGV;
|
||||
|
||||
@alldeps=();
|
||||
# Parse dependency files
|
||||
while ($line = <>) {
|
||||
chomp $line;
|
||||
($obj,$rest) = split /\s*:\s+/, $line, 2;
|
||||
next if $obj eq '';
|
||||
|
||||
if ($line =~ /\\$/) {
|
||||
chop $rest;
|
||||
$hasSlash = 1;
|
||||
} else {
|
||||
$hasSlash = 0;
|
||||
}
|
||||
$deps = [ $obj, split /\s+/, $rest ];
|
||||
|
||||
while ($hasSlash and $line = <>) {
|
||||
chomp $line;
|
||||
if ($line =~ /\\$/) {
|
||||
chop $line;
|
||||
} else {
|
||||
$hasSlash = 0;
|
||||
}
|
||||
$line =~ s/^\s+//;
|
||||
push @{$deps}, split /\s+/, $line;
|
||||
}
|
||||
warn "add @{$deps}\n" if $debug;
|
||||
push @alldeps, $deps;
|
||||
}
|
||||
|
||||
# Test dependencies
|
||||
foreach $deps (@alldeps) {
|
||||
$obj = shift @{$deps};
|
||||
|
||||
$mtime = (stat $obj)[9] or next;
|
||||
|
||||
foreach $dep_file (@{$deps}) {
|
||||
if (not defined($dep_mtime = $modtimes{$dep_file})) {
|
||||
$dep_mtime = (stat $dep_file)[9];
|
||||
$modtimes{$dep_file} = $dep_mtime;
|
||||
}
|
||||
if ($dep_mtime ne '' and $dep_mtime > $mtime) {
|
||||
print "$obj($mtime) older than $dep_file($dep_mtime)\n" if $debug;
|
||||
push @objs, $obj;
|
||||
# Object will be marked for rebuild. No need to check other dependencies.
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Output objects to rebuild (if needed).
|
||||
if (@objs) {
|
||||
$new_output = "@objs: FORCE\n";
|
||||
|
||||
# Read in the current dependencies file.
|
||||
open(OLD, "<$outfile")
|
||||
and $old_output = <OLD>;
|
||||
close(OLD);
|
||||
|
||||
# Only write out the dependencies if they are different.
|
||||
if ($new_output ne $old_output) {
|
||||
open(OUT, ">$outfile") and print OUT "$new_output";
|
||||
print "Updating dependencies file, $outfile\n";
|
||||
if ($debug) {
|
||||
print "new: $new_output\n";
|
||||
print "was: $old_output\n" if $old_output ne '';
|
||||
}
|
||||
}
|
||||
} elsif (-s $outfile) {
|
||||
# Remove the old dependencies because all objects are up to date.
|
||||
print "Removing old dependencies file, $outfile\n";
|
||||
|
||||
if ($debug) {
|
||||
open(OLD, "<$outfile")
|
||||
and $old_output = <OLD>;
|
||||
close(OLD);
|
||||
print "was: $old_output\n";
|
||||
}
|
||||
|
||||
unlink $outfile;
|
||||
}
|
||||
273
mozilla/security/coreconf/.cshrc
Normal file
273
mozilla/security/coreconf/.cshrc
Normal file
@@ -0,0 +1,273 @@
|
||||
#!/bin/csh
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Startup file for csh and tcsh. It is meant to work on:
|
||||
#
|
||||
# SunOS 4.1.3_U1,
|
||||
# Sun Solaris,
|
||||
# Sun Solaris on Intel,
|
||||
# SGI IRIX,
|
||||
# SGI IRIX64,
|
||||
# UNIX_SV,
|
||||
# IBM AIX,
|
||||
# Hewlett-Packard HP-UX,
|
||||
# SCO_SV,
|
||||
# FreeBSD,
|
||||
# DEC OSF/1,
|
||||
# Linux,
|
||||
# and everything else.
|
||||
#
|
||||
|
||||
###############################################
|
||||
# Set operating system name and release level #
|
||||
###############################################
|
||||
|
||||
set os_name=`uname -s`
|
||||
set os_release=`uname -r`
|
||||
|
||||
##########################################################
|
||||
# Set environment variables based upon operating system #
|
||||
##########################################################
|
||||
|
||||
if ($os_name == "SunOS" && $os_release == "4.1.3_U1") then
|
||||
##############################
|
||||
# SunOS 4.1.3_U1
|
||||
#
|
||||
|
||||
setenv NO_MDUPDATE 1
|
||||
|
||||
set path = ( /tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_sunos4.1.3_U1/bin \
|
||||
/tools/ns/bin \
|
||||
/sbin \
|
||||
/usr/bin \
|
||||
/usr/openwin/bin \
|
||||
/usr/openwin/include \
|
||||
/usr/ucb \
|
||||
/usr/local/bin \
|
||||
/etc \
|
||||
/usr/etc \
|
||||
/usr/etc/install \
|
||||
. )
|
||||
|
||||
else if ($os_name == "SunOS") then
|
||||
################################
|
||||
# Assume it is Sun Solaris
|
||||
#
|
||||
|
||||
# To build Navigator on Solaris 2.5, I must set the environment
|
||||
# variable NO_MDUPDATE and use gcc-2.6.3.
|
||||
setenv NO_MDUPDATE 1
|
||||
|
||||
set path = ( /share/builds/components/jdk/1.2.2_01/SunOS \
|
||||
/usr/ccs/bin \
|
||||
/usr/opt/bin \
|
||||
/tools/ns/bin \
|
||||
/usr/sbin \
|
||||
/sbin \
|
||||
/usr/bin \
|
||||
/usr/dt/bin \
|
||||
/usr/openwin/bin \
|
||||
/usr/openwin/include \
|
||||
/usr/ucb \
|
||||
/usr/opt/java/bin \
|
||||
/usr/local/bin \
|
||||
/etc \
|
||||
/usr/etc \
|
||||
/usr/etc/install \
|
||||
/opt/Acrobat3/bin \
|
||||
. )
|
||||
|
||||
# To get the native Solaris cc
|
||||
if (`uname -m` == i86pc) then
|
||||
set path = ( /h/solx86/export/home/opt/SUNWspro/SC3.0.1/bin \
|
||||
$path )
|
||||
else
|
||||
set path = ( /tools/ns/workshop/bin \
|
||||
/tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_solaris2.4/bin \
|
||||
$path )
|
||||
endif
|
||||
|
||||
setenv LD_LIBRARY_PATH /share/builds/components/jdk/1.2.2_01/SunOS/lib/sparc/native_threads
|
||||
|
||||
setenv MANPATH /usr/local/man:/usr/local/lib/mh/man:/usr/local/lib/rcscvs/man:/usr/local/lib/fvwm/man:/usr/local/lib/xscreensaver/man:/usr/share/man:/usr/openwin/man:/usr/opt/man
|
||||
|
||||
# For Purify
|
||||
setenv PURIFYHOME /usr/local-sparc-solaris/pure/purify-4.0-solaris2
|
||||
setenv PATH ${PURIFYHOME}:$PATH
|
||||
setenv MANPATH $PURIFYHOME/man:$MANPATH
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$PURIFYHOME
|
||||
setenv PURIFYOPTIONS "-max_threads=1000 -follow-child-processes=yes"
|
||||
|
||||
else if ($os_name == "IRIX" || $os_name == "IRIX64") then
|
||||
#############
|
||||
# SGI Irix
|
||||
#
|
||||
|
||||
set path = ( /share/builds/components/jdk/1.2.1/IRIX \
|
||||
/tools/ns/bin \
|
||||
/tools/contrib/bin \
|
||||
/usr/local/bin \
|
||||
/usr/sbin \
|
||||
/usr/bsd \
|
||||
/usr/bin \
|
||||
/bin \
|
||||
/etc \
|
||||
/usr/etc \
|
||||
/usr/bin/X11 \
|
||||
. )
|
||||
|
||||
else if ($os_name == "UNIX_SV") then
|
||||
#################
|
||||
# UNIX_SV
|
||||
#
|
||||
|
||||
set path = ( /usr/local/bin \
|
||||
/tools/ns/bin \
|
||||
/bin \
|
||||
/usr/bin \
|
||||
/usr/bin/X11 \
|
||||
/X11/bin \
|
||||
/usr/X/bin \
|
||||
/usr/ucb \
|
||||
/usr/sbin \
|
||||
/sbin \
|
||||
/usr/ccs/bin \
|
||||
. )
|
||||
|
||||
else if ($os_name == "AIX") then
|
||||
#################
|
||||
# IBM AIX
|
||||
#
|
||||
|
||||
set path = ( /share/builds/components/jdk/1.2.2/AIX \
|
||||
/usr/ucb/ \
|
||||
/tools/ns-arch/rs6000_ibm_aix4.1/bin \
|
||||
/tools/ns-arch/rs6000_ibm_aix3.2.5/bin \
|
||||
/share/tools/ns/soft/cvs-1.8/run/default/rs6000_ibm_aix3.2.5/bin \
|
||||
/bin \
|
||||
/usr/bin \
|
||||
/usr/ccs/bin \
|
||||
/usr/sbin \
|
||||
/usr/local/bin \
|
||||
/usr/bin/X11 \
|
||||
/usr/etc \
|
||||
/etc \
|
||||
/sbin \
|
||||
. )
|
||||
|
||||
else if ($os_name == "HP-UX") then
|
||||
#################
|
||||
# HP UX
|
||||
#
|
||||
|
||||
set path = ( /share/builds/components/jdk/1.1.6/HP-UX \
|
||||
/usr/bin \
|
||||
/opt/ansic/bin \
|
||||
/usr/ccs/bin \
|
||||
/usr/contrib/bin \
|
||||
/opt/nettladm/bin \
|
||||
/opt/graphics/common/bin \
|
||||
/usr/bin/X11 \
|
||||
/usr/contrib/bin/X11 \
|
||||
/opt/upgrade/bin \
|
||||
/opt/CC/bin \
|
||||
/opt/aCC/bin \
|
||||
/opt/langtools/bin \
|
||||
/opt/imake/bin \
|
||||
/etc \
|
||||
/usr/etc \
|
||||
/usr/local/bin \
|
||||
/tools/ns/bin \
|
||||
/tools/contrib/bin \
|
||||
/usr/sbin \
|
||||
/usr/local/bin \
|
||||
/tools/ns/bin \
|
||||
/tools/contrib/bin \
|
||||
/usr/sbin \
|
||||
/usr/include/X11R5 \
|
||||
. )
|
||||
|
||||
else if ($os_name == "SCO_SV") then
|
||||
#################
|
||||
# SCO
|
||||
#
|
||||
|
||||
set path = ( /bin \
|
||||
/usr/bin \
|
||||
/tools/ns/bin \
|
||||
/tools/contrib/bin \
|
||||
/usr/sco/bin \
|
||||
/usr/bin/X11 \
|
||||
/usr/local/bin \
|
||||
. )
|
||||
|
||||
else if ($os_name == "FreeBSD") then
|
||||
#################
|
||||
# FreeBSD
|
||||
#
|
||||
|
||||
setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/java/bin:/usr/local/bin:/usr/ucb:/usr/ccs/bin:/tools/contrib/bin:/tools/ns/bin:.
|
||||
|
||||
else if ($os_name == "OSF1") then
|
||||
#################
|
||||
# DEC OSF1
|
||||
#
|
||||
|
||||
set path = ( /share/builds/components/jdk/1.2.2_3/OSF1 \
|
||||
/tools/ns-arch/alpha_dec_osf4.0/bin \
|
||||
/tools/ns-arch/soft/cvs-1.8.3/run/default/alpha_dec_osf2.0/bin \
|
||||
/usr/local-alpha-osf/bin \
|
||||
/usr3/local/bin \
|
||||
/usr/local/bin \
|
||||
/usr/sbin \
|
||||
/usr/bin \
|
||||
/bin \
|
||||
/usr/bin/X11 \
|
||||
/usr/ucb \
|
||||
. )
|
||||
|
||||
else if ($os_name == "Linux") then
|
||||
#################
|
||||
# Linux
|
||||
#
|
||||
|
||||
set path = ( /share/builds/components/jdk/1.2.2/Linux \
|
||||
$path )
|
||||
|
||||
endif
|
||||
|
||||
###############################
|
||||
# Reset any "tracked" aliases #
|
||||
###############################
|
||||
|
||||
rehash
|
||||
216
mozilla/security/coreconf/.profile
Normal file
216
mozilla/security/coreconf/.profile
Normal file
@@ -0,0 +1,216 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Startup file for sh, ksh and bash. It is meant to work on:
|
||||
#
|
||||
# SunOS 4.1.3_U1,
|
||||
# Sun Solaris,
|
||||
# Sun Solaris on Intel,
|
||||
# SGI IRIX,
|
||||
# SGI IRIX64,
|
||||
# UNIX_SV,
|
||||
# IBM AIX,
|
||||
# Hewlett-Packard HP-UX,
|
||||
# SCO_SV,
|
||||
# FreeBSD,
|
||||
# DEC OSF/1,
|
||||
# Linux,
|
||||
# and everything else.
|
||||
#
|
||||
|
||||
###############################################
|
||||
# Set operating system name and release level #
|
||||
###############################################
|
||||
|
||||
OS_NAME=`uname -s`
|
||||
export OS_NAME
|
||||
|
||||
OS_RELEASE=`uname -r`
|
||||
export OS_RELEASE
|
||||
|
||||
##########################################################
|
||||
# Set environment variables based upon operating system #
|
||||
##########################################################
|
||||
|
||||
case $OS_NAME in
|
||||
|
||||
SunOS)
|
||||
##############################
|
||||
# Sun
|
||||
#
|
||||
|
||||
case $OS_RELEASE in
|
||||
|
||||
4.1.3_U1)
|
||||
##############################
|
||||
# SunOS 4.1.3_U1
|
||||
#
|
||||
|
||||
NO_MDUPDATE=1
|
||||
export NO_MDUPDATE
|
||||
|
||||
PATH=/tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_sunos4.1.3_U1/bin:tools/ns/bin:/sbin:/usr/bin:/usr/openwin/bin:/usr/openwin/include:/usr/ucb:/usr/local/bin:/etc:/usr/etc:/usr/etc/install:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
*)
|
||||
################################
|
||||
# Assume it is Sun Solaris
|
||||
#
|
||||
|
||||
# To build Navigator on Solaris 2.5, I must set the environment
|
||||
# variable NO_MDUPDATE and use gcc-2.6.3.
|
||||
NO_MDUPDATE=1
|
||||
export NO_MDUPDATE
|
||||
|
||||
PATH=/share/builds/components/jdk/1.2.2_01/SunOS:/usr/ccs/bin:/usr/opt/bin:/tools/ns/bin:/usr/sbin:/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/openwin/include:/usr/ucb:/usr/opt/java/bin:/usr/local/bin:/etc:/usr/etc:/usr/etc/install:/opt/Acrobat3/bin:.
|
||||
export PATH
|
||||
|
||||
# To get the native Solaris cc
|
||||
OS_TEST=`uname -m`
|
||||
export OS_TEST
|
||||
|
||||
case $OS_TEST in
|
||||
|
||||
i86pc)
|
||||
PATH=/h/solx86/export/home/opt/SUNWspro/SC3.0.1/bin:$PATH
|
||||
export PATH
|
||||
;;
|
||||
|
||||
*)
|
||||
PATH=/tools/ns/workshop/bin:/tools/ns/soft/gcc-2.6.3/run/default/sparc_sun_solaris2.4/bin:$PATH
|
||||
export PATH
|
||||
;;
|
||||
esac
|
||||
|
||||
LD_LIBRARY_PATH=/share/builds/components/jdk/1.2.2_01/SunOS/lib/sparc/native_threads
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
MANPATH=/usr/local/man:/usr/local/lib/mh/man:/usr/local/lib/rcscvs/man:/usr/local/lib/fvwm/man:/usr/local/lib/xscreensaver/man:/usr/share/man:/usr/openwin/man:/usr/opt/man
|
||||
export MANPATH
|
||||
|
||||
# For Purify
|
||||
PURIFYHOME=/usr/local-sparc-solaris/pure/purify-4.0-solaris2
|
||||
export PURIFYHOME
|
||||
PATH=/usr/local-sparc-solaris/pure/purify-4.0-solaris2:$PATH
|
||||
export PATH
|
||||
MANPATH=$PURIFYHOME/man:$MANPATH
|
||||
export MANPATH
|
||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local-sparc-solaris/pure/purify-4.0-solaris2
|
||||
export LD_LIBRARY_PATH
|
||||
PURIFYOPTIONS="-max_threads=1000 -follow-child-processes=yes"
|
||||
export PURIFYOPTIONS
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
IRIX | IRIX64)
|
||||
#############
|
||||
# SGI Irix
|
||||
#
|
||||
|
||||
PATH=/share/builds/components/jdk/1.2.1/IRIX:/tools/ns/bin:/tools/contrib/bin:/usr/local/bin:/usr/sbin:/usr/bsd:/usr/bin:/bin:/etc:/usr/etc:/usr/bin/X11:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
UNIX_SV)
|
||||
#################
|
||||
# UNIX_SV
|
||||
#
|
||||
|
||||
PATH=/usr/local/bin:/tools/ns/bin:/bin:/usr/bin:/usr/bin/X11:/X11/bin:/usr/X/bin:/usr/ucb:/usr/sbin:/sbin:/usr/ccs/bin:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
AIX)
|
||||
#################
|
||||
# IBM AIX
|
||||
#
|
||||
|
||||
PATH=/share/builds/components/jdk/1.2.2/AIX:/usr/ucb/:/tools/ns-arch/rs6000_ibm_aix4.1/bin:/tools/ns-arch/rs6000_ibm_aix3.2.5/bin:/share/tools/ns/soft/cvs-1.8/run/default/rs6000_ibm_aix3.2.5/bin:/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:/usr/local/bin:/usr/bin/X11:/usr/etc:/etc:/sbin:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
HP-UX)
|
||||
#################
|
||||
# HP UX
|
||||
#
|
||||
|
||||
PATH=/share/builds/components/jdk/1.1.6/HP-UX:/usr/bin:/opt/ansic/bin:/usr/ccs/bin:/usr/contrib/bin:/opt/nettladm/bin:/opt/graphics/common/bin:/usr/bin/X11:/usr/contrib/bin/X11:/opt/upgrade/bin:/opt/CC/bin:/opt/aCC/bin:/opt/langtools/bin:/opt/imake/bin:/etc:/usr/etc:/usr/local/bin:/tools/ns/bin:/tools/contrib/bin:/usr/sbin:/usr/local/bin:/tools/ns/bin:/tools/contrib/bin:/usr/sbin:/usr/include/X11R5:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
SCO_SV)
|
||||
#################
|
||||
# SCO
|
||||
#
|
||||
|
||||
PATH=/bin:/usr/bin:/tools/ns/bin:/tools/contrib/bin:/usr/sco/bin:/usr/bin/X11:/usr/local/bin:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
FreeBSD)
|
||||
|
||||
#################
|
||||
# FreeBSD
|
||||
#
|
||||
|
||||
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/java/bin:/usr/local/bin:/usr/ucb:/usr/ccs/bin:/tools/contrib/bin:/tools/ns/bin:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
OSF1)
|
||||
#################
|
||||
# DEC OSF1
|
||||
#
|
||||
|
||||
PATH=/share/builds/components/jdk/1.2.2_3/OSF1:/tools/ns-arch/alpha_dec_osf4.0/bin:/tools/ns-arch/soft/cvs-1.8.3/run/default/alpha_dec_osf2.0/bin:/usr/local-alpha-osf/bin:/usr3/local/bin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/usr/bin/X11:/usr/ucb:.
|
||||
export PATH
|
||||
;;
|
||||
|
||||
Linux)
|
||||
|
||||
#################
|
||||
# Linux
|
||||
#
|
||||
|
||||
PATH=/share/builds/components/jdk/1.2.2/Linux:$PATH
|
||||
export PATH
|
||||
;;
|
||||
esac
|
||||
|
||||
###############################
|
||||
# Reset any "tracked" aliases #
|
||||
###############################
|
||||
|
||||
hash -r
|
||||
@@ -65,19 +65,10 @@ CPU_ARCH = rs6000
|
||||
RANLIB = ranlib
|
||||
|
||||
OS_CFLAGS = -DAIX -DSYSV
|
||||
ifndef NS_USE_GCC
|
||||
ifeq ($(CC),xlC_r)
|
||||
OS_CFLAGS += -qarch=com
|
||||
endif
|
||||
|
||||
AIX_WRAP = $(DIST)/lib/aixwrap.o
|
||||
AIX_TMP = $(OBJDIR)/_aix_tmp.o
|
||||
ifdef MAPFILE
|
||||
EXPORT_RULES = -bexport:$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@
|
||||
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER += -qmaxmem=-1
|
||||
endif
|
||||
|
||||
OS_LIBS += -lsvld
|
||||
|
||||
@@ -44,12 +44,3 @@ AIX_LINK_OPTS += -bnso -berok
|
||||
DLL_SUFFIX = a
|
||||
|
||||
OS_LIBS += -lsvld
|
||||
|
||||
# override default value set in suffix.mk, for AIX 4.1 only
|
||||
DYNAMIC_LIB_EXTENSION = _shr
|
||||
|
||||
# override default value in ruleset.mk
|
||||
ifdef LIBRARY_NAME
|
||||
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_shr$(JDK_DEBUG_SUFFIX).a
|
||||
endif
|
||||
|
||||
|
||||
@@ -37,14 +37,9 @@
|
||||
include $(CORE_DEPTH)/coreconf/AIX.mk
|
||||
|
||||
OS_CFLAGS += -DAIX4_2
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -L/usr/lpp/xlC/lib -lc -lm
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry $(EXPORT_RULES)
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
|
||||
|
||||
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
DSO_LDOPTS += -bexport:$(MAPFILE)
|
||||
else
|
||||
DSO_LDOPTS += -bexpall
|
||||
endif
|
||||
|
||||
EXPORT_RULES = -bexpall
|
||||
|
||||
|
||||
@@ -44,12 +44,9 @@ ifeq ($(USE_64), 1)
|
||||
export OBJECT_MODE
|
||||
endif
|
||||
OS_CFLAGS += -DAIX4_3
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry $(EXPORT_RULES)
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -lsvld -L/usr/lpp/xlC/lib -lc -lm
|
||||
|
||||
OS_LIBS += -L/usr/lpp/xlC/lib -lc -lm
|
||||
EXPORT_RULES = -bexpall
|
||||
|
||||
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
DSO_LDOPTS += -bexport:$(MAPFILE)
|
||||
else
|
||||
DSO_LDOPTS += -bexpall
|
||||
endif
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for AIX5.1
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/AIX.mk
|
||||
|
||||
|
||||
ifeq ($(USE_64), 1)
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
OS_CFLAGS += -DAIX_64BIT
|
||||
OBJECT_MODE=64
|
||||
export OBJECT_MODE
|
||||
endif
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
|
||||
|
||||
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
DSO_LDOPTS += -bexport:$(MAPFILE)
|
||||
else
|
||||
DSO_LDOPTS += -bexpall
|
||||
endif
|
||||
@@ -1,54 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for AIX5.2
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/AIX.mk
|
||||
|
||||
|
||||
ifeq ($(USE_64), 1)
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
OS_CFLAGS += -DAIX_64BIT
|
||||
OBJECT_MODE=64
|
||||
export OBJECT_MODE
|
||||
endif
|
||||
DSO_LDOPTS = -brtl -bM:SRE -bnoentry
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS) -blibpath:/usr/lib:/lib -lc -lm
|
||||
|
||||
OS_LIBS += -blibpath:/usr/lib:/lib -lc -lm
|
||||
ifdef MAPFILE
|
||||
DSO_LDOPTS += -bexport:$(MAPFILE)
|
||||
else
|
||||
DSO_LDOPTS += -bexpall
|
||||
endif
|
||||
@@ -77,11 +77,6 @@ DSO_LDOPTS += -Wl,-R$(LIBRUNPATH)
|
||||
endif
|
||||
|
||||
MKSHLIB = $(CC) $(DSO_LDOPTS)
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
G++INCLUDES = -I/usr/include/g++
|
||||
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2002 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for BeOS
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
XP_DEFINE := $(XP_DEFINE:-DXP_UNIX=-DXP_BEOS)
|
||||
|
||||
USE_PTHREADS =
|
||||
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
RANLIB = ranlib
|
||||
|
||||
DEFAULT_COMPILER = gcc
|
||||
|
||||
ifeq ($(OS_TEST),ppc)
|
||||
OS_REL_CFLAGS = -Dppc
|
||||
CPU_ARCH = ppc
|
||||
else
|
||||
OS_REL_CFLAGS = -Di386
|
||||
CPU_ARCH = x86
|
||||
endif
|
||||
|
||||
MKSHLIB = $(CC) -nostart -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wall -pipe
|
||||
OS_LIBS = -lbe
|
||||
|
||||
DEFINES += -DBEOS
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
DEFINES += -D_REENTRANT
|
||||
endif
|
||||
|
||||
ARCH = beos
|
||||
|
||||
DSO_CFLAGS = -fPIC
|
||||
DSO_LDOPTS =
|
||||
DSO_LDFLAGS =
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for Darwin.
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
DEFAULT_COMPILER = cc
|
||||
|
||||
CC = cc
|
||||
CCC = c++
|
||||
RANLIB = ranlib
|
||||
|
||||
ifeq (86,$(findstring 86,$(OS_TEST)))
|
||||
OS_REL_CFLAGS = -Di386
|
||||
CPU_ARCH = i386
|
||||
else
|
||||
OS_REL_CFLAGS = -Dppc
|
||||
CPU_ARCH = ppc
|
||||
endif
|
||||
|
||||
# "Commons" are tentative definitions in a global scope, like this:
|
||||
# int x;
|
||||
# The meaning of a common is ambiguous. It may be a true definition:
|
||||
# int x = 0;
|
||||
# or it may be a declaration of a symbol defined in another file:
|
||||
# extern int x;
|
||||
# Use the -fno-common option to force all commons to become true
|
||||
# definitions so that the linker can catch multiply-defined symbols.
|
||||
# Also, common symbols are not allowed with Darwin dynamic libraries.
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Wmost -fpascal-strings -no-cpp-precomp -fno-common -pipe -DDARWIN -DHAVE_STRERROR -DHAVE_BSD_FLOCK
|
||||
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
ARCH = darwin
|
||||
|
||||
# May override this with -bundle to create a loadable module.
|
||||
DSO_LDOPTS = -dynamiclib -compatibility_version 1 -current_version 1 -install_name @executable_path/$(notdir $@) -headerpad_max_install_names
|
||||
|
||||
MKSHLIB = $(CC) -arch $(CPU_ARCH) $(DSO_LDOPTS)
|
||||
DLL_SUFFIX = dylib
|
||||
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,_,' > $@
|
||||
|
||||
G++INCLUDES = -I/usr/include/g++
|
||||
@@ -43,22 +43,19 @@ RANLIB = ranlib
|
||||
ifeq ($(OS_TEST),alpha)
|
||||
CPU_ARCH = alpha
|
||||
else
|
||||
OS_REL_CFLAGS = -Di386
|
||||
CPU_ARCH = x86
|
||||
endif
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
|
||||
|
||||
DSO_CFLAGS = -fPIC
|
||||
DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@)
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe $(THREAD_FLAG) -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK
|
||||
|
||||
#
|
||||
# The default implementation strategy for FreeBSD is pthreads.
|
||||
#
|
||||
ifndef CLASSIC_NSPR
|
||||
USE_PTHREADS = 1
|
||||
DEFINES += -D_THREAD_SAFE -D_REENTRANT
|
||||
OS_LIBS += -pthread
|
||||
DSO_LDOPTS += -pthread
|
||||
DEFINES += -D_THREAD_SAFE
|
||||
THREAD_FLAG = -pthread
|
||||
endif
|
||||
|
||||
ARCH = freebsd
|
||||
@@ -71,12 +68,11 @@ else
|
||||
DLL_SUFFIX = so.1.0
|
||||
endif
|
||||
|
||||
MKSHLIB = $(CC) $(DSO_LDOPTS)
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
DSO_CFLAGS = -fPIC
|
||||
DSO_LDOPTS = -Bshareable
|
||||
DSO_LDFLAGS =
|
||||
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS)
|
||||
|
||||
G++INCLUDES = -I/usr/include/g++
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#! gmake
|
||||
#
|
||||
#
|
||||
# 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
|
||||
@@ -31,9 +30,7 @@
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for FreeBSD2
|
||||
#
|
||||
|
||||
include manifest.mn
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
include config.mk
|
||||
include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/FreeBSD.mk
|
||||
@@ -42,7 +42,7 @@ CPU_ARCH = hppa
|
||||
DLL_SUFFIX = sl
|
||||
CC = cc
|
||||
CCC = CC
|
||||
OS_CFLAGS += -Ae $(DSO_CFLAGS) -DHPUX -D$(CPU_ARCH) -D_HPUX_SOURCE -D_USE_BIG_FDS
|
||||
OS_CFLAGS += -Ae $(DSO_CFLAGS) -DHPUX -D$(CPU_ARCH) -D_HPUX_SOURCE
|
||||
|
||||
ifeq ($(DEFAULT_IMPL_STRATEGY),_PTH)
|
||||
USE_PTHREADS = 1
|
||||
@@ -63,11 +63,6 @@ endif
|
||||
LDFLAGS = -z -Wl,+s
|
||||
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS)
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -c $(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,+e ,' > $@
|
||||
|
||||
DSO_LDOPTS = -b +h $(notdir $@)
|
||||
DSO_LDFLAGS =
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# On HP-UX 10.30 and 11.x, the default implementation strategy is
|
||||
# pthreads. Classic nspr and pthreads-user are also available.
|
||||
#
|
||||
|
||||
ifeq ($(OS_RELEASE),B.11.11)
|
||||
OS_CFLAGS += -DHPUX10
|
||||
DEFAULT_IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
#
|
||||
# To use the true pthread (kernel thread) library on 10.30 and
|
||||
# 11.x, we should define _POSIX_C_SOURCE to be 199506L.
|
||||
# The _REENTRANT macro is deprecated.
|
||||
#
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
|
||||
endif
|
||||
|
||||
#
|
||||
# Config stuff for HP-UXB.11.11.
|
||||
#
|
||||
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk
|
||||
@@ -1,55 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2002 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# On HP-UX 10.30 and 11.x, the default implementation strategy is
|
||||
# pthreads. Classic nspr and pthreads-user are also available.
|
||||
#
|
||||
|
||||
ifeq ($(OS_RELEASE),B.11.20)
|
||||
OS_CFLAGS += -DHPUX10
|
||||
DEFAULT_IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
#
|
||||
# To use the true pthread (kernel thread) library on 10.30 and
|
||||
# 11.x, we should define _POSIX_C_SOURCE to be 199506L.
|
||||
# The _REENTRANT macro is deprecated.
|
||||
#
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
|
||||
endif
|
||||
|
||||
#
|
||||
# Config stuff for HP-UXB.11.x.
|
||||
#
|
||||
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk
|
||||
@@ -1,55 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2002 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# On HP-UX 10.30 and 11.x, the default implementation strategy is
|
||||
# pthreads. Classic nspr and pthreads-user are also available.
|
||||
#
|
||||
|
||||
ifeq ($(OS_RELEASE),B.11.22)
|
||||
OS_CFLAGS += -DHPUX10
|
||||
DEFAULT_IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
#
|
||||
# To use the true pthread (kernel thread) library on 10.30 and
|
||||
# 11.x, we should define _POSIX_C_SOURCE to be 199506L.
|
||||
# The _REENTRANT macro is deprecated.
|
||||
#
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
OS_CFLAGS += -D_POSIX_C_SOURCE=199506L
|
||||
endif
|
||||
|
||||
#
|
||||
# Config stuff for HP-UXB.11.x.
|
||||
#
|
||||
include $(CORE_DEPTH)/coreconf/HP-UXB.11.mk
|
||||
@@ -41,36 +41,14 @@ endif
|
||||
ifndef NS_USE_GCC
|
||||
CCC = /opt/aCC/bin/aCC -ext
|
||||
ifeq ($(USE_64), 1)
|
||||
ifeq ($(OS_TEST), ia64)
|
||||
OS_CFLAGS += -Aa +e +p +DD64
|
||||
else
|
||||
# Our HP-UX build machine has a strange problem. If
|
||||
# a 64-bit PA-RISC executable calls getcwd() in a
|
||||
# network-mounted directory, it fails with ENOENT.
|
||||
# We don't know why. Since nsinstall calls getcwd(),
|
||||
# this breaks our 64-bit HP-UX nightly builds. None
|
||||
# of our other HP-UX machines have this problem.
|
||||
#
|
||||
# We worked around this problem by building nsinstall
|
||||
# as a 32-bit PA-RISC executable for 64-bit PA-RISC
|
||||
# builds. -- wtc 2003-06-03
|
||||
ifdef INTERNAL_TOOLS
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
else
|
||||
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
|
||||
endif
|
||||
endif
|
||||
OS_CFLAGS += -Aa +e +DA2.0W +DS2.0 +DChpux
|
||||
# Next line replaced by generic name handling in arch.mk
|
||||
# COMPILER_TAG = _64
|
||||
else
|
||||
ifeq ($(OS_TEST), ia64)
|
||||
OS_CFLAGS += -Aa +e +p +DD32
|
||||
ifdef USE_HYBRID
|
||||
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
|
||||
else
|
||||
ifdef USE_HYBRID
|
||||
OS_CFLAGS += -Aa +e +DA2.0 +DS2.0
|
||||
else
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
endif
|
||||
OS_CFLAGS += +DAportable +DS2.0
|
||||
endif
|
||||
endif
|
||||
else
|
||||
|
||||
@@ -58,7 +58,7 @@ ifdef NS_USE_GCC
|
||||
else
|
||||
CC = cc
|
||||
CCC = CC
|
||||
ODD_CFLAGS = -fullwarn -xansi -woff 1209
|
||||
ODD_CFLAGS = -fullwarn -xansi
|
||||
ifdef BUILD_OPT
|
||||
ifeq ($(USE_N32),1)
|
||||
OPTIMIZER = -O -OPT:Olimit=4000
|
||||
@@ -91,9 +91,10 @@ RANLIB = /bin/true
|
||||
# NOTE: should always define _SGI_MP_SOURCE
|
||||
NOMD_OS_CFLAGS += $(ODD_CFLAGS) -D_SGI_MP_SOURCE
|
||||
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS)
|
||||
ifdef USE_MDUPDATE
|
||||
OS_CFLAGS += -MDupdate $(DEPENDENCIES)
|
||||
ifndef NO_MDUPDATE
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
|
||||
else
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_N32),1)
|
||||
@@ -101,11 +102,6 @@ ifeq ($(USE_N32),1)
|
||||
endif
|
||||
|
||||
MKSHLIB += $(LD) $(SHLIB_LD_OPTS) -shared -soname $(@:$(OBJDIR)/%.so=%.so)
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
DSO_LDOPTS = -elf -shared -all
|
||||
|
||||
|
||||
@@ -39,7 +39,4 @@ SHLIB_LD_OPTS += -no_unresolved
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/IRIX6.mk
|
||||
|
||||
OS_CFLAGS += -DIRIX6_5
|
||||
ifndef NS_USE_GCC
|
||||
OS_CFLAGS += -mips3
|
||||
endif
|
||||
OS_CFLAGS += -DIRIX6_5 -mips3
|
||||
|
||||
@@ -50,10 +50,6 @@ RANLIB = ranlib
|
||||
|
||||
DEFAULT_COMPILER = gcc
|
||||
|
||||
ifeq ($(OS_TEST),m68k)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = m68k
|
||||
else
|
||||
ifeq ($(OS_TEST),ppc)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = ppc
|
||||
@@ -62,10 +58,6 @@ ifeq ($(OS_TEST),alpha)
|
||||
OS_REL_CFLAGS = -D_ALPHA_ -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = alpha
|
||||
else
|
||||
ifeq ($(OS_TEST),ia64)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = ia64
|
||||
else
|
||||
ifeq ($(OS_TEST),sparc)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = sparc
|
||||
@@ -73,26 +65,6 @@ else
|
||||
ifeq ($(OS_TEST),sparc64)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = sparc
|
||||
else
|
||||
ifeq (,$(filter-out arm% sa110,$(OS_TEST)))
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = arm
|
||||
else
|
||||
ifeq ($(OS_TEST),parisc64)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = hppa
|
||||
else
|
||||
ifeq ($(OS_TEST),s390)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = s390
|
||||
else
|
||||
ifeq ($(OS_TEST),s390x)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = s390x
|
||||
else
|
||||
ifeq ($(OS_TEST),mips)
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = mips
|
||||
else
|
||||
OS_REL_CFLAGS = -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
|
||||
CPU_ARCH = x86
|
||||
@@ -100,13 +72,6 @@ endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
LIBC_TAG = _glibc
|
||||
@@ -117,11 +82,6 @@ ifeq ($(OS_RELEASE),2.0)
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
endif
|
||||
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
@@ -143,8 +103,3 @@ DSO_LDFLAGS =
|
||||
|
||||
# INCLUDES += -I/usr/include -Y/usr/include/linux
|
||||
G++INCLUDES = -I/usr/include/g++
|
||||
|
||||
#
|
||||
# Always set CPU_TAG on Linux, OpenVMS, WINCE.
|
||||
#
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
|
||||
@@ -40,10 +40,5 @@ ifeq ($(OS_RELEASE),2.1)
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
endif
|
||||
|
||||
|
||||
@@ -41,9 +41,3 @@ ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
|
||||
|
||||
@@ -41,9 +41,3 @@ ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for Linux 2.5 (ELF)
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/Linux.mk
|
||||
|
||||
OS_REL_CFLAGS += -DLINUX2_1
|
||||
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for Linux 2.6 (ELF)
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/Linux.mk
|
||||
|
||||
OS_REL_CFLAGS += -DLINUX2_1
|
||||
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
|
||||
@@ -30,14 +30,15 @@
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
DEPTH = ..
|
||||
CORE_DEPTH = ..
|
||||
|
||||
MODULE = coreconf
|
||||
CORE_DEPTH = ..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
DIRS = nsinstall
|
||||
|
||||
include $(DEPTH)/coreconf/config.mk
|
||||
include $(DEPTH)/coreconf/rules.mk
|
||||
include $(CORE_DEPTH)/coreconf/autoconf.mk
|
||||
include $(topsrcdir)/coreconf/config.mk
|
||||
|
||||
export:: libs
|
||||
include $(topsrcdir)/coreconf/rules.mk
|
||||
@@ -66,11 +66,6 @@ endif
|
||||
MKSHLIB += $(LD) $(DSO_LDOPTS)
|
||||
#DSO_LDOPTS += -G -z defs
|
||||
DSO_LDOPTS += -G
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
CPU_ARCH = x86
|
||||
ARCH = ncr
|
||||
|
||||
@@ -49,11 +49,6 @@ CCC = g++
|
||||
endif
|
||||
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS)
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
RANLIB = /bin/true
|
||||
|
||||
|
||||
@@ -40,11 +40,8 @@ CC = gcc
|
||||
CCC = g++
|
||||
RANLIB = ranlib
|
||||
|
||||
CPU_ARCH := $(shell uname -p)
|
||||
ifeq ($(CPU_ARCH),i386)
|
||||
OS_REL_CFLAGS = -Di386
|
||||
CPU_ARCH = x86
|
||||
endif
|
||||
|
||||
ifndef OBJECT_FMT
|
||||
OBJECT_FMT := $(shell if echo __ELF__ | $${CC:-cc} -E - | grep -q __ELF__ ; then echo a.out ; else echo ELF ; fi)
|
||||
@@ -74,12 +71,6 @@ DSO_LDOPTS += -Wl,-R$(LIBRUNPATH)
|
||||
endif
|
||||
|
||||
MKSHLIB = $(CC) $(DSO_LDOPTS)
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
|
||||
G++INCLUDES = -I/usr/include/g++
|
||||
|
||||
|
||||
@@ -49,31 +49,29 @@ endif
|
||||
# XP_OS2 is strictly for OS2 only
|
||||
XP_DEFINE += -DXP_PC=1 -DXP_OS2=1
|
||||
|
||||
# Override prefix
|
||||
LIB_PREFIX = $(NULL)
|
||||
|
||||
# Override suffix in suffix.mk
|
||||
LIB_SUFFIX = lib
|
||||
DLL_SUFFIX = dll
|
||||
OBJ_SUFFIX = .obj
|
||||
ASM_SUFFIX = .asm
|
||||
PROG_SUFFIX = .exe
|
||||
|
||||
|
||||
ifdef XP_OS2_EMX
|
||||
|
||||
#
|
||||
# On OS/2 we proudly support gbash...
|
||||
#
|
||||
SHELL = GBASH.EXE
|
||||
CCC = gcc
|
||||
LINK = gcc
|
||||
AR = emxomfar r $@
|
||||
AR = emxomfar -p256 r $@
|
||||
# Keep AR_FLAGS blank so that we do not have to change rules.mk
|
||||
AR_FLAGS =
|
||||
RANLIB = @echo OS2 RANLIB
|
||||
BSDECHO = @echo OS2 BSDECHO
|
||||
IMPLIB = emximp -o
|
||||
FILTER = emxexp -o
|
||||
|
||||
# GCC for OS/2 currently predefines these, but we don't want them
|
||||
DEFINES += -Uunix -U__unix -U__unix__
|
||||
|
||||
DEFINES += -DTCPV40HDRS
|
||||
IMPLIB = emximp -o
|
||||
FILTER = emxexp
|
||||
|
||||
ifndef NO_SHARED_LIB
|
||||
WRAP_MALLOC_LIB =
|
||||
@@ -84,25 +82,13 @@ MKSHLIB = $(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@
|
||||
MKCSHLIB = $(CC) $(CFLAGS) $(DSO_LDOPTS) -o $@
|
||||
MKSHLIB_FORCE_ALL =
|
||||
MKSHLIB_UNFORCE_ALL =
|
||||
DSO_LDOPTS = -Zomf -Zdll
|
||||
DSO_LDOPTS = -Zomf -Zdll -Zmt -Zcrtdll -Zlinker /NOO
|
||||
# DLL_SUFFIX = .dll
|
||||
SHLIB_LDSTARTFILE =
|
||||
SHLIB_LDENDFILE =
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += $(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = \
|
||||
echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \
|
||||
echo PROTMODE >> $@; \
|
||||
echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \
|
||||
echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \
|
||||
echo EXPORTS >> $@; \
|
||||
grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,\([\t ]*\),\1_,' | \
|
||||
awk 'BEGIN {ord=1;} { print($$0 " @" ord " RESIDENTNAME"); ord++;}' >> $@
|
||||
|
||||
endif #NO_SHARED_LIB
|
||||
|
||||
OS_CFLAGS = -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Zomf -DDEBUG -DTRACING -g
|
||||
OS_CFLAGS = -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Zmtd -Zomf -Zmt -DDEBUG -DDEBUG_wintrinh -DTRACING -g
|
||||
|
||||
# Where the libraries are
|
||||
MOZ_COMPONENT_NSPR_LIBS=-L$(DIST)/lib $(NSPR_LIBS)
|
||||
@@ -111,7 +97,7 @@ NSPR_INCLUDE_DIR =
|
||||
|
||||
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2 -s
|
||||
OPTIMIZER = -O6
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
DLLFLAGS = -DLL -OUT:$@ -MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
@@ -127,16 +113,10 @@ endif # BUILD_OPT
|
||||
|
||||
else # XP_OS2_VACPP
|
||||
|
||||
# Override suffix in suffix.mk
|
||||
OBJ_SUFFIX = .obj
|
||||
ASM_SUFFIX = .asm
|
||||
|
||||
AS = alp.exe
|
||||
ifdef BUILD_OPT
|
||||
ASFLAGS = -Od
|
||||
else
|
||||
ASFLAGS = +Od
|
||||
endif
|
||||
#
|
||||
# On OS/2 we proudly support gbash...
|
||||
#
|
||||
SHELL = GBASH.EXE
|
||||
CCC = icc -q -DXP_OS2 -DOS2=4 -N10
|
||||
LINK = -ilink
|
||||
AR = -ilib /NOL /NOI /O:$(subst /,\\,$@)
|
||||
@@ -160,17 +140,6 @@ DSO_LDOPTS =
|
||||
# DLL_SUFFIX = .dll
|
||||
SHLIB_LDSTARTFILE =
|
||||
SHLIB_LDENDFILE =
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += $(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = \
|
||||
echo LIBRARY $(LIBRARY_NAME)$(LIBRARY_VERSION) INITINSTANCE TERMINSTANCE > $@; \
|
||||
echo PROTMODE >> $@; \
|
||||
echo CODE LOADONCALL MOVEABLE DISCARDABLE >> $@; \
|
||||
echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $@; \
|
||||
echo EXPORTS >> $@; \
|
||||
grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' >> $@
|
||||
endif #NO_SHARED_LIB
|
||||
|
||||
OS_CFLAGS = /Q /qlibansi /Gd /Gm /Su4 /Mp /Tl-
|
||||
@@ -183,22 +152,20 @@ MOZ_COMPONENT_NSPR_LIBS=-L$(DIST)/lib $(NSPR_LIBS)
|
||||
NSPR_INCLUDE_DIR =
|
||||
|
||||
|
||||
DLLFLAGS = /DLL /O:$@ /INC:_dllentry /MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
LDFLAGS = /FREE /NOE /LINENUMBERS /nologo
|
||||
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = /O+ /Gl+ /G5 /qarch=pentium
|
||||
OPTIMIZER = -O+ -Oi
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
DLLFLAGS = /DLL /O:$@ /INC:_dllentry /MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
OBJDIR_TAG = _OPT
|
||||
LDFLAGS += /NODEBUG /OPTFUNC /EXEPACK:2 /PACKCODE /PACKDATA
|
||||
LDFLAGS = /FREE /NODEBUG /NOE /LINENUMBERS /nologo
|
||||
else
|
||||
OS_CFLAGS += /Ti+
|
||||
DEFINES += -DDEBUG -D_DEBUG -DDEBUGPRINTS #HCT Need += to avoid overidding manifest.mn
|
||||
DLLFLAGS += /DE
|
||||
EXEFLAGS += /DE
|
||||
DLLFLAGS = /DEBUG /DLL /O:$@ /INC:_dllentry /MAP:$(@:.dll=.map)
|
||||
EXEFLAGS = -DEBUG -PMTYPE:VIO -OUT:$@ -MAP:$(@:.exe=.map) -nologo -NOE
|
||||
OBJDIR_TAG = _DBG
|
||||
LDFLAGS += /DE
|
||||
LDFLAGS = /FREE /DE /NOE /LINENUMBERS /nologo
|
||||
endif # BUILD_OPT
|
||||
|
||||
endif # XP_OS2_VACPP
|
||||
@@ -206,11 +173,7 @@ endif # XP_OS2_VACPP
|
||||
# OS/2 use nsinstall that is included in the toolkit.
|
||||
# since we do not wish to support and maintain 3 version of nsinstall in mozilla, nspr and nss
|
||||
|
||||
ifdef BUILD_TREE
|
||||
NSINSTALL_DIR = $(BUILD_TREE)/nss
|
||||
else
|
||||
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
|
||||
endif
|
||||
# NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
|
||||
NSINSTALL = nsinstall # HCT4OS2
|
||||
INSTALL = $(NSINSTALL)
|
||||
@@ -248,29 +211,6 @@ else
|
||||
endif
|
||||
endif
|
||||
|
||||
DEFINES += -DXP_OS2
|
||||
|
||||
define MAKE_OBJDIR
|
||||
if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
|
||||
endef
|
||||
|
||||
#
|
||||
# override the definition of DLL_PREFIX in prefix.mk
|
||||
#
|
||||
|
||||
ifndef DLL_PREFIX
|
||||
DLL_PREFIX = $(NULL)
|
||||
endif
|
||||
|
||||
#
|
||||
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
|
||||
#
|
||||
ifndef TARGETS
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
|
||||
endif
|
||||
|
||||
|
||||
ifdef LIBRARY_NAME
|
||||
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).lib
|
||||
endif
|
||||
|
||||
|
||||
@@ -63,10 +63,4 @@ endif
|
||||
|
||||
# The command to build a shared library on OSF1.
|
||||
MKSHLIB += ld -shared -expect_unresolved "*" -soname $(notdir $@)
|
||||
ifdef MAPFILE
|
||||
MKSHLIB += -hidden -input $(MAPFILE)
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';+' $(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,-exported_symbol ,' > $@
|
||||
|
||||
DSO_LDOPTS += -shared
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# On OSF1 V5.1, pthreads is the default implementation strategy.
|
||||
# Classic nspr is also available.
|
||||
#
|
||||
ifneq ($(OS_RELEASE),V3.2)
|
||||
USE_PTHREADS = 1
|
||||
ifeq ($(CLASSIC_NSPR), 1)
|
||||
USE_PTHREADS =
|
||||
IMPL_STRATEGY := _CLASSIC
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Config stuff for DEC OSF/1 V5.1
|
||||
#
|
||||
include $(CORE_DEPTH)/coreconf/OSF1.mk
|
||||
@@ -1,69 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for OpenBSD
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
DEFAULT_COMPILER = gcc
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
RANLIB = ranlib
|
||||
|
||||
CPU_ARCH := $(shell uname -p)
|
||||
ifeq ($(CPU_ARCH),i386)
|
||||
OS_REL_CFLAGS = -Di386
|
||||
CPU_ARCH = x86
|
||||
endif
|
||||
|
||||
ifndef CLASSIC_NSPR
|
||||
USE_PTHREADS = 1
|
||||
DEFINES += -D_THREAD_SAFE -pthread
|
||||
OS_LIBS += -pthread
|
||||
DSO_LDOPTS += -pthread
|
||||
endif
|
||||
|
||||
DLL_SUFFIX = so.1.0
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DOPENBSD
|
||||
|
||||
OS_LIBS =
|
||||
|
||||
ARCH = openbsd
|
||||
|
||||
DSO_CFLAGS = -fPIC -DPIC
|
||||
DSO_LDOPTS = -shared -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
|
||||
DSO_LDFLAGS =
|
||||
|
||||
MKSHLIB = $(CC) $(DSO_LDOPTS)
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for Open UNIX 8.
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
DEFAULT_COMPILER = gcc
|
||||
|
||||
CC = gcc
|
||||
OS_CFLAGS += -fPIC
|
||||
CCC = g++
|
||||
CCC += -DPRFSTREAMS_BROKEN -I/usr/gnu/lib/g++-include
|
||||
# CCC = $(CORE_DEPTH)/build/hcpp
|
||||
# CCC += +.cpp +w
|
||||
RANLIB = /bin/true
|
||||
|
||||
#
|
||||
# -DSCO_PM - Policy Manager AKA: SCO Licensing
|
||||
# -DSCO - Changes to Netscape source (consistent with AIX, LINUX, etc..)
|
||||
# -Dsco - Needed for /usr/include/X11/*
|
||||
#
|
||||
OS_CFLAGS += -DSCO_SV -DSYSV -D_SVID3 -DHAVE_STRERROR -DSW_THREADS -DSCO_PM -DSCO -Dsco
|
||||
#OS_LIBS += -lpmapi -lsocket -lc
|
||||
MKSHLIB = $(LD)
|
||||
MKSHLIB += $(DSO_LDOPTS)
|
||||
XINC = /usr/include/X11
|
||||
MOTIFLIB += -lXm
|
||||
INCLUDES += -I$(XINC)
|
||||
CPU_ARCH = x86
|
||||
GFX_ARCH = x
|
||||
ARCH = sco
|
||||
LOCALE_MAP = $(CORE_DEPTH)/cmd/xfe/intl/sco.lm
|
||||
EN_LOCALE = C
|
||||
DE_LOCALE = de_DE.ISO8859-1
|
||||
FR_LOCALE = fr_FR.ISO8859-1
|
||||
JP_LOCALE = ja
|
||||
SJIS_LOCALE = ja_JP.SJIS
|
||||
KR_LOCALE = ko_KR.EUC
|
||||
CN_LOCALE = zh
|
||||
TW_LOCALE = zh
|
||||
I2_LOCALE = i2
|
||||
LOC_LIB_DIR = /usr/lib/X11
|
||||
NOSUCHFILE = /solaris-rm-f-sucks
|
||||
BSDECHO = /bin/echo
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
#
|
||||
# These defines are for building unix plugins
|
||||
#
|
||||
BUILD_UNIX_PLUGINS = 1
|
||||
#DSO_LDOPTS += -b elf -G -z defs
|
||||
DSO_LDOPTS += -G
|
||||
DSO_LDFLAGS += -nostdlib -L/lib -L/usr/lib -lXm -lXt -lX11 -lgen
|
||||
|
||||
# Used for Java compiler
|
||||
EXPORT_FLAGS += -W l,-Bexport
|
||||
@@ -21,15 +21,23 @@
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
CC = cc
|
||||
ifdef INTERNAL_TOOLS
|
||||
CC = c89
|
||||
CCC = cxx
|
||||
OPTIMIZER = -O
|
||||
else
|
||||
CC = ccc
|
||||
CCC = ccc
|
||||
endif
|
||||
|
||||
RANLIB = /gnu/bin/true
|
||||
RANLIB = /bin/true
|
||||
|
||||
CPU_ARCH := $(shell uname -Wh)
|
||||
|
||||
OS_CFLAGS = -DVMS
|
||||
OS_CXXFLAGS = -DVMS
|
||||
OS_CFLAGS = -DVMS -DVMS_AS_IS -Wc,names=\(short,as\) \
|
||||
-DGENERIC_PTHREAD_REDEFINES -DNO_UDSOCK
|
||||
OS_CXXFLAGS = -DVMS -DVMS_AS_IS -Wc,names=\(short,as\) \
|
||||
-DGENERIC_PTHREAD_REDEFINES -DNO_UDSOCK
|
||||
|
||||
# Maybe this should go into rules.mk or something?
|
||||
ifdef NSPR_INCLUDE_DIR
|
||||
@@ -44,17 +52,5 @@ endif
|
||||
#
|
||||
XCFLAGS += $(OPTIMIZER)
|
||||
|
||||
DSO_LDOPTS = -shared -auto_symvec
|
||||
MKSHLIB = $(CC) $(OPTIMIZER) $(LDFLAGS) $(DSO_LDOPTS)
|
||||
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
|
||||
#
|
||||
# Always set CPU_TAG on Linux, OpenVMS, WINCE.
|
||||
#
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
# The command to build a shared library in POSIX on OpenVMS.
|
||||
MKSHLIB = vmsld_psm $(OPTIMIZER)
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for QNX
|
||||
#
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
USE_PTHREADS = 1
|
||||
|
||||
ifeq ($(USE_PTHREADS),1)
|
||||
IMPL_STRATEGY = _PTH
|
||||
endif
|
||||
|
||||
CC = qcc
|
||||
CCC = qcc
|
||||
RANLIB = ranlib
|
||||
|
||||
DEFAULT_COMPILER = qcc
|
||||
ifeq ($(OS_TEST),mips)
|
||||
CPU_ARCH = mips
|
||||
else
|
||||
CPU_ARCH = x86
|
||||
endif
|
||||
|
||||
MKSHLIB = $(CC) -shared -Wl,-soname -Wl,$(@:$(OBJDIR)/%.so=%.so)
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O2
|
||||
endif
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -Vgcc_ntox86 -Wall -pipe -DNTO -DHAVE_STRERROR -D_QNX_SOURCE -D_POSIX_C_SOURCE=199506 -D_XOPEN_SOURCE=500
|
||||
|
||||
ifdef USE_PTHREADS
|
||||
DEFINES += -D_REENTRANT
|
||||
endif
|
||||
|
||||
ARCH = QNX
|
||||
|
||||
DSO_CFLAGS = -Wc,-fPIC
|
||||
DSO_LDOPTS = -shared
|
||||
DSO_LDFLAGS =
|
||||
@@ -232,6 +232,9 @@ OVERVIEW of "config.mk":
|
||||
$(OS_CONFIG).mk <architecture>-specific macros
|
||||
(dependent upon <architecture> tags)
|
||||
|
||||
platform.mk source and release <platform> tags
|
||||
(dependent upon <architecture> tags)
|
||||
|
||||
tree.mk release <tree> tags
|
||||
(dependent upon <architecture> tags)
|
||||
|
||||
|
||||
@@ -65,11 +65,6 @@ else
|
||||
MKSHLIB += -G -h $(@:$(OBJDIR)/%.so=%.so)
|
||||
DSO_LDOPTS += -G -W l,-Blargedynsym
|
||||
endif
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
NOSUCHFILE = /sni-rm-f-sucks
|
||||
ODD_CFLAGS += -DSVR4 -DSNI -DRELIANTUNIX
|
||||
|
||||
@@ -73,11 +73,6 @@ I2_LOCALE = i2
|
||||
LOC_LIB_DIR = /usr/lib/X11
|
||||
NOSUCHFILE = /solaris-rm-f-sucks
|
||||
BSDECHO = /bin/echo
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
#
|
||||
# These defines are for building unix plugins
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for SunOS5.10
|
||||
#
|
||||
|
||||
SOL_CFLAGS += -D_SVID_GETTOD
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
ifeq ($(OS_RELEASE),5.10)
|
||||
OS_DEFINES += -DSOLARIS2_10
|
||||
endif
|
||||
|
||||
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc
|
||||
@@ -1,48 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for Solaris 10 on x86
|
||||
#
|
||||
|
||||
SOL_CFLAGS = -D_SVID_GETTOD
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
CPU_ARCH = x86
|
||||
ARCHFLAG =
|
||||
OS_DEFINES += -Di386
|
||||
|
||||
ifeq ($(OS_RELEASE),5.10_i86pc)
|
||||
OS_DEFINES += -DSOLARIS2_10
|
||||
endif
|
||||
|
||||
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc
|
||||
@@ -43,9 +43,10 @@ ifdef NS_USE_GCC
|
||||
CCC = g++
|
||||
CCC += -Wall -Wno-format
|
||||
ASFLAGS += -x assembler-with-cpp
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS)
|
||||
ifdef USE_MDUPDATE
|
||||
OS_CFLAGS += -MDupdate $(DEPENDENCIES)
|
||||
ifdef NO_MDUPDATE
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS)
|
||||
else
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
|
||||
endif
|
||||
else
|
||||
CC = cc
|
||||
|
||||
@@ -38,7 +38,6 @@ SOL_CFLAGS = -D_SVID_GETTOD
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
CPU_ARCH = x86
|
||||
ARCHFLAG =
|
||||
OS_DEFINES += -Di386
|
||||
|
||||
ifeq ($(OS_RELEASE),5.5.1_i86pc)
|
||||
|
||||
@@ -38,7 +38,6 @@ SOL_CFLAGS = -D_SVID_GETTOD
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
CPU_ARCH = x86
|
||||
ARCHFLAG =
|
||||
OS_DEFINES += -Di386
|
||||
|
||||
ifeq ($(OS_RELEASE),5.6_i86pc)
|
||||
|
||||
@@ -38,7 +38,6 @@ SOL_CFLAGS = -D_SVID_GETTOD
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
CPU_ARCH = x86
|
||||
ARCHFLAG =
|
||||
OS_DEFINES += -Di386
|
||||
|
||||
ifeq ($(OS_RELEASE),5.7_i86pc)
|
||||
|
||||
@@ -38,7 +38,6 @@ SOL_CFLAGS = -D_SVID_GETTOD
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
CPU_ARCH = x86
|
||||
ARCHFLAG =
|
||||
OS_DEFINES += -Di386
|
||||
|
||||
ifeq ($(OS_RELEASE),5.8_i86pc)
|
||||
|
||||
@@ -1,48 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for Solaris 9 on x86
|
||||
#
|
||||
|
||||
SOL_CFLAGS = -D_SVID_GETTOD
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
CPU_ARCH = x86
|
||||
ARCHFLAG =
|
||||
OS_DEFINES += -Di386
|
||||
|
||||
ifeq ($(OS_RELEASE),5.9_i86pc)
|
||||
OS_DEFINES += -DSOLARIS2_9
|
||||
endif
|
||||
|
||||
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc
|
||||
@@ -57,6 +57,7 @@ ifeq ($(USE_64), 1)
|
||||
else
|
||||
ARCHFLAG=-xarch=v9
|
||||
endif
|
||||
LD=/usr/ccs/bin/ld
|
||||
else
|
||||
ifdef NS_USE_GCC
|
||||
ifdef USE_HYBRID
|
||||
@@ -99,9 +100,10 @@ ifdef NS_USE_GCC
|
||||
CCC = g++
|
||||
CCC += -Wall -Wno-format
|
||||
ASFLAGS += -x assembler-with-cpp
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS)
|
||||
ifdef USE_MDUPDATE
|
||||
OS_CFLAGS += -MDupdate $(DEPENDENCIES)
|
||||
ifdef NO_MDUPDATE
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS)
|
||||
else
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS) -MDupdate $(DEPENDENCIES)
|
||||
endif
|
||||
OS_CFLAGS += $(ARCHFLAG)
|
||||
else
|
||||
@@ -111,8 +113,8 @@ else
|
||||
OS_CFLAGS += $(NOMD_OS_CFLAGS) $(ARCHFLAG)
|
||||
ifndef BUILD_OPT
|
||||
OS_CFLAGS += -xs
|
||||
else
|
||||
OPTIMIZER = -xO4
|
||||
# else
|
||||
# OPTIMIZER += -fast
|
||||
endif
|
||||
|
||||
endif
|
||||
@@ -130,40 +132,12 @@ endif
|
||||
# Purify doesn't like -MDupdate
|
||||
NOMD_OS_CFLAGS += $(DSO_CFLAGS) $(OS_DEFINES) $(SOL_CFLAGS)
|
||||
|
||||
MKSHLIB = $(CC) $(DSO_LDOPTS)
|
||||
ifdef NS_USE_GCC
|
||||
ifeq (GNU,$(findstring GNU,$(shell `$(CC) -print-prog-name=ld` -v 2>&1)))
|
||||
GCC_USE_GNU_LD = 1
|
||||
endif
|
||||
endif
|
||||
ifdef MAPFILE
|
||||
ifdef NS_USE_GCC
|
||||
ifdef GCC_USE_GNU_LD
|
||||
MKSHLIB += -Wl,--version-script,$(MAPFILE)
|
||||
else
|
||||
MKSHLIB += -Wl,-M,$(MAPFILE)
|
||||
endif
|
||||
else
|
||||
MKSHLIB += -M $(MAPFILE)
|
||||
endif
|
||||
endif
|
||||
PROCESS_MAP_FILE = grep -v ';-' $(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
|
||||
|
||||
|
||||
MKSHLIB = $(LD) $(DSO_LDOPTS)
|
||||
|
||||
# ld options:
|
||||
# -G: produce a shared object
|
||||
# -z defs: no unresolved symbols allowed
|
||||
ifdef NS_USE_GCC
|
||||
DSO_LDOPTS += -shared -h $(notdir $@)
|
||||
else
|
||||
ifeq ($(USE_64), 1)
|
||||
DSO_LDOPTS += -xarch=v9
|
||||
endif
|
||||
DSO_LDOPTS += -G -h $(notdir $@)
|
||||
endif
|
||||
DSO_LDOPTS += -G -h $(notdir $@)
|
||||
|
||||
# -KPIC generates position independent code for use in shared libraries.
|
||||
# (Similarly for -fPIC in case of gcc.)
|
||||
|
||||
@@ -46,13 +46,8 @@ else
|
||||
DEFINES += -DDEBUG -UNDEBUG -DDEBUG_$(shell whoami)
|
||||
endif
|
||||
|
||||
ifdef BUILD_TREE
|
||||
NSINSTALL_DIR = $(BUILD_TREE)/nss
|
||||
NSINSTALL = $(BUILD_TREE)/nss/nsinstall
|
||||
else
|
||||
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
|
||||
NSINSTALL = $(NSINSTALL_DIR)/$(OBJDIR_NAME)/nsinstall
|
||||
endif
|
||||
|
||||
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
|
||||
MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend
|
||||
|
||||
@@ -49,9 +49,3 @@ DSO_LDOPTS += -G
|
||||
CPU_ARCH = x86
|
||||
ARCH = sco
|
||||
NOSUCHFILE = /solaris-rm-f-sucks
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
|
||||
@@ -109,101 +109,9 @@ OS_DLL_OPTION = CASEEXACT
|
||||
OS_DLLFLAGS =
|
||||
OS_LIBS =
|
||||
W16_EXPORTS = #
|
||||
ifdef MAPFILE
|
||||
# Add LD options to restrict exported symbols to those in the map file
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = copy $(LIBRARY_NAME).def $@
|
||||
|
||||
|
||||
#
|
||||
# The following is NOT needed for the NSPR 2.0 library.
|
||||
#
|
||||
|
||||
OS_CFLAGS += -d_WINDOWS -d_MSC_VER=700
|
||||
|
||||
#
|
||||
# override the definitions of RELEASE_TREE found in tree.mk
|
||||
#
|
||||
ifndef RELEASE_TREE
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(NTBUILD_SHIP)
|
||||
else
|
||||
RELEASE_TREE = //redbuild/components
|
||||
endif
|
||||
else
|
||||
RELEASE_TREE = //redbuild/components
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of LIB_PREFIX and DLL_PREFIX in prefix.mk
|
||||
#
|
||||
ifndef LIB_PREFIX
|
||||
LIB_PREFIX = $(NULL)
|
||||
endif
|
||||
|
||||
ifndef DLL_PREFIX
|
||||
DLL_PREFIX = $(NULL)
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of various _SUFFIX symbols in suffix.mk
|
||||
#
|
||||
|
||||
#
|
||||
# Object suffixes
|
||||
#
|
||||
ifndef OBJ_SUFFIX
|
||||
OBJ_SUFFIX = .obj
|
||||
endif
|
||||
|
||||
#
|
||||
# Assembler source suffixes
|
||||
#
|
||||
ifndef ASM_SUFFIX
|
||||
ASM_SUFFIX = .asm
|
||||
endif
|
||||
|
||||
#
|
||||
# Library suffixes
|
||||
#
|
||||
ifndef IMPORT_LIB_SUFFIX
|
||||
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
|
||||
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
#
|
||||
# Program suffixes
|
||||
#
|
||||
ifndef PROG_SUFFIX
|
||||
PROG_SUFFIX = .exe
|
||||
endif
|
||||
|
||||
#
|
||||
# When the processor is NOT 386-based on Windows NT, override the
|
||||
# value of $(CPU_TAG). For WinNT, 95, 16, not CE.
|
||||
#
|
||||
ifneq ($(CPU_ARCH),x386)
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
endif
|
||||
|
||||
#
|
||||
# override ruleset.mk, removing the "lib" prefix for library names, and
|
||||
# adding the "32" after the LIBRARY_VERSION.
|
||||
#
|
||||
ifdef LIBRARY_NAME
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
|
||||
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
|
||||
endif
|
||||
|
||||
#
|
||||
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
|
||||
#
|
||||
ifndef TARGETS
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
|
||||
endif
|
||||
|
||||
@@ -38,32 +38,15 @@
|
||||
|
||||
DEFAULT_COMPILER = cl
|
||||
|
||||
ifdef NS_USE_GCC
|
||||
CC = gcc
|
||||
CCC = g++
|
||||
LINK = ld
|
||||
AR = ar
|
||||
AR += cr $@
|
||||
RANLIB = ranlib
|
||||
BSDECHO = echo
|
||||
RC = windres.exe -O coff --use-temp-file
|
||||
LINK_DLL = $(CC) $(OS_DLLFLAGS) $(DLLFLAGS)
|
||||
else
|
||||
CC = cl
|
||||
CCC = cl
|
||||
LINK = link
|
||||
AR = lib
|
||||
AR += -NOLOGO -OUT:"$@"
|
||||
RANLIB = echo
|
||||
BSDECHO = echo
|
||||
RC = rc.exe
|
||||
endif
|
||||
CC = cl
|
||||
CCC = cl
|
||||
LINK = link
|
||||
AR = lib
|
||||
AR += -NOLOGO -OUT:"$@"
|
||||
RANLIB = echo
|
||||
BSDECHO = echo
|
||||
|
||||
ifdef BUILD_TREE
|
||||
NSINSTALL_DIR = $(BUILD_TREE)/nss
|
||||
else
|
||||
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
|
||||
endif
|
||||
NSINSTALL = nsinstall
|
||||
|
||||
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
|
||||
@@ -75,50 +58,18 @@ MKDEPENDENCIES = $(OBJDIR_NAME)/depend.mk
|
||||
INSTALL = $(NSINSTALL)
|
||||
MAKE_OBJDIR = mkdir
|
||||
MAKE_OBJDIR += $(OBJDIR)
|
||||
RC = rc.exe
|
||||
GARBAGE += $(OBJDIR)/vc20.pdb $(OBJDIR)/vc40.pdb
|
||||
XP_DEFINE += -DXP_PC
|
||||
ifdef NS_USE_GCC
|
||||
LIB_SUFFIX = a
|
||||
else
|
||||
LIB_SUFFIX = lib
|
||||
endif
|
||||
DLL_SUFFIX = dll
|
||||
|
||||
ifdef NS_USE_GCC
|
||||
OS_CFLAGS += -mno-cygwin -mms-bitfields
|
||||
_GEN_IMPORT_LIB=-Wl,--out-implib,$(IMPORT_LIBRARY)
|
||||
DLLFLAGS += -mno-cygwin -o $@ -shared -Wl,--export-all-symbols $(if $(IMPORT_LIBRARY),$(_GEN_IMPORT_LIB))
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER += -O2
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
#
|
||||
# Add symbolic information for a profiler
|
||||
#
|
||||
ifdef MOZ_PROFILE
|
||||
OPTIMIZER += -g
|
||||
endif
|
||||
else
|
||||
OPTIMIZER += -g
|
||||
NULLSTRING :=
|
||||
SPACE := $(NULLSTRING) # end of the line
|
||||
USERNAME := $(subst $(SPACE),_,$(USERNAME))
|
||||
USERNAME := $(subst -,_,$(USERNAME))
|
||||
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
|
||||
endif
|
||||
else # !NS_USE_GCC
|
||||
ifdef BUILD_OPT
|
||||
ifdef BUILD_OPT
|
||||
OS_CFLAGS += -MD
|
||||
OPTIMIZER += -O2
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
DLLFLAGS += -OUT:"$@"
|
||||
#
|
||||
# Add symbolic information for a profiler
|
||||
#
|
||||
ifdef MOZ_PROFILE
|
||||
OPTIMIZER += -Z7
|
||||
DLLFLAGS += -DEBUG -DEBUGTYPE:CV
|
||||
endif
|
||||
else
|
||||
else
|
||||
#
|
||||
# Define USE_DEBUG_RTL if you want to use the debug runtime library
|
||||
# (RTL) in the debug build
|
||||
@@ -130,147 +81,23 @@ else # !NS_USE_GCC
|
||||
endif
|
||||
OPTIMIZER += -Od -Z7
|
||||
#OPTIMIZER += -Zi -Fd$(OBJDIR)/ -Od
|
||||
NULLSTRING :=
|
||||
SPACE := $(NULLSTRING) # end of the line
|
||||
USERNAME := $(subst $(SPACE),_,$(USERNAME))
|
||||
USERNAME := $(subst -,_,$(USERNAME))
|
||||
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
|
||||
DLLFLAGS += -DEBUG -DEBUGTYPE:CV -OUT:"$@"
|
||||
LDFLAGS += -DEBUG -DEBUGTYPE:CV -PDB:NONE
|
||||
endif
|
||||
endif # NS_USE_GCC
|
||||
LDFLAGS += -DEBUG -DEBUGTYPE:CV
|
||||
endif
|
||||
|
||||
DEFINES += -DWIN32
|
||||
ifdef MAPFILE
|
||||
ifndef NS_USE_GCC
|
||||
DLLFLAGS += -DEF:$(MAPFILE)
|
||||
endif
|
||||
endif
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
|
||||
#
|
||||
# The following is NOT needed for the NSPR 2.0 library.
|
||||
#
|
||||
|
||||
DEFINES += -D_WINDOWS
|
||||
ifdef MOZILLA_CLIENT
|
||||
INCLUDES += -I$(SOURCE_XP_DIR)/include
|
||||
endif
|
||||
|
||||
# override default, which is ASFLAGS = CFLAGS
|
||||
ifdef NS_USE_GCC
|
||||
AS = $(CC)
|
||||
ASFLAGS = $(INCLUDES)
|
||||
else
|
||||
AS = ml.exe
|
||||
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of RELEASE_TREE found in tree.mk
|
||||
#
|
||||
ifndef RELEASE_TREE
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(NTBUILD_SHIP)
|
||||
else
|
||||
RELEASE_TREE = //redbuild/components
|
||||
endif
|
||||
else
|
||||
RELEASE_TREE = //redbuild/components
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of IMPORT_LIB_PREFIX, LIB_PREFIX, and
|
||||
# DLL_PREFIX in prefix.mk
|
||||
#
|
||||
|
||||
ifndef IMPORT_LIB_PREFIX
|
||||
ifdef NS_USE_GCC
|
||||
IMPORT_LIB_PREFIX = lib
|
||||
else
|
||||
IMPORT_LIB_PREFIX = $(NULL)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef LIB_PREFIX
|
||||
ifdef NS_USE_GCC
|
||||
LIB_PREFIX = lib
|
||||
else
|
||||
LIB_PREFIX = $(NULL)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef DLL_PREFIX
|
||||
DLL_PREFIX = $(NULL)
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of various _SUFFIX symbols in suffix.mk
|
||||
#
|
||||
|
||||
#
|
||||
# Object suffixes
|
||||
#
|
||||
ifndef OBJ_SUFFIX
|
||||
ifdef NS_USE_GCC
|
||||
OBJ_SUFFIX = .o
|
||||
else
|
||||
OBJ_SUFFIX = .obj
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Assembler source suffixes
|
||||
#
|
||||
ifndef ASM_SUFFIX
|
||||
ifdef NS_USE_GCC
|
||||
ASM_SUFFIX = .s
|
||||
else
|
||||
ASM_SUFFIX = .asm
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Library suffixes
|
||||
#
|
||||
|
||||
ifndef IMPORT_LIB_SUFFIX
|
||||
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
|
||||
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
#
|
||||
# Program suffixes
|
||||
#
|
||||
ifndef PROG_SUFFIX
|
||||
PROG_SUFFIX = .exe
|
||||
endif
|
||||
|
||||
#
|
||||
# When the processor is NOT 386-based on Windows NT, override the
|
||||
# value of $(CPU_TAG). For WinNT, 95, 16, not CE.
|
||||
#
|
||||
ifneq ($(CPU_ARCH),x386)
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
endif
|
||||
|
||||
#
|
||||
# override ruleset.mk, removing the "lib" prefix for library names, and
|
||||
# adding the "32" after the LIBRARY_VERSION.
|
||||
#
|
||||
ifdef LIBRARY_NAME
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
|
||||
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
|
||||
endif
|
||||
|
||||
#
|
||||
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
|
||||
#
|
||||
ifndef TARGETS
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
|
||||
endif
|
||||
AS = ml.exe
|
||||
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
|
||||
|
||||
|
||||
@@ -35,29 +35,32 @@
|
||||
# Config stuff for WIN95
|
||||
#
|
||||
# This makefile defines the following variables:
|
||||
# OS_CFLAGS and OS_DLLFLAGS.
|
||||
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
|
||||
# PROCESSOR is an internal variable.
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/WIN32.mk
|
||||
|
||||
ifeq ($(CPU_ARCH), x386)
|
||||
ifndef NS_USE_GCC
|
||||
PROCESSOR := $(shell uname -p)
|
||||
ifeq ($(PROCESSOR), I386)
|
||||
CPU_ARCH = x386
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
endif
|
||||
DEFINES += -D_X86_
|
||||
else
|
||||
ifeq ($(CPU_ARCH), MIPS)
|
||||
ifeq ($(PROCESSOR), MIPS)
|
||||
CPU_ARCH = MIPS
|
||||
#OS_CFLAGS += -W3 -nologo
|
||||
#DEFINES += -D_MIPS_
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
else
|
||||
ifeq ($(CPU_ARCH), ALPHA)
|
||||
ifeq ($(PROCESSOR), ALPHA)
|
||||
CPU_ARCH = ALPHA
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
DEFINES += -D_ALPHA_=1
|
||||
else
|
||||
CPU_ARCH = processor_is_undefined
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef NS_USE_GCC
|
||||
OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS -PDB:NONE
|
||||
endif
|
||||
DEFINES += -DWIN95
|
||||
|
||||
@@ -1,207 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
|
||||
#
|
||||
# Configuration common to all versions of Windows CE and Pocket PC x.
|
||||
#
|
||||
|
||||
ifeq ($(CPU_ARCH),x86)
|
||||
DEFAULT_COMPILER = cl
|
||||
CC = cl
|
||||
CCC = cl
|
||||
else
|
||||
ifeq ($(CPU_ARCH),ARM)
|
||||
DEFAULT_COMPILER = clarm
|
||||
CC = clarm
|
||||
CCC = clarm
|
||||
else
|
||||
include CPU_ARCH_is_not_recognized
|
||||
include _$(CPU_ARCH)
|
||||
endif
|
||||
endif
|
||||
|
||||
LINK = link
|
||||
AR = lib
|
||||
AR += -NOLOGO -OUT:"$@"
|
||||
RANLIB = echo
|
||||
BSDECHO = echo
|
||||
|
||||
ifdef BUILD_TREE
|
||||
NSINSTALL_DIR = $(BUILD_TREE)/nss
|
||||
else
|
||||
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
|
||||
endif
|
||||
NSINSTALL = nsinstall
|
||||
|
||||
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
|
||||
MKDEPEND = $(MKDEPEND_DIR)/$(OBJDIR_NAME)/mkdepend.exe
|
||||
# Note: MKDEPENDENCIES __MUST__ be a relative pathname, not absolute.
|
||||
# If it is absolute, gmake will crash unless the named file exists.
|
||||
MKDEPENDENCIES = $(OBJDIR_NAME)/depend.mk
|
||||
|
||||
INSTALL = $(NSINSTALL)
|
||||
MAKE_OBJDIR = mkdir
|
||||
MAKE_OBJDIR += $(OBJDIR)
|
||||
RC = rc.exe
|
||||
GARBAGE += $(OBJDIR)/vc20.pdb $(OBJDIR)/vc40.pdb
|
||||
XP_DEFINE += -DXP_PC
|
||||
LIB_SUFFIX = lib
|
||||
DLL_SUFFIX = dll
|
||||
|
||||
ifdef BUILD_OPT
|
||||
# OS_CFLAGS += -MD
|
||||
OPTIMIZER += -O2
|
||||
DEFINES += -UDEBUG -U_DEBUG -DNDEBUG
|
||||
DLLFLAGS += -OUT:"$@"
|
||||
else
|
||||
#
|
||||
# Define USE_DEBUG_RTL if you want to use the debug runtime library
|
||||
# (RTL) in the debug build
|
||||
#
|
||||
ifdef USE_DEBUG_RTL
|
||||
# OS_CFLAGS += -MDd
|
||||
else
|
||||
# OS_CFLAGS += -MD
|
||||
endif
|
||||
OPTIMIZER += -Od -Z7
|
||||
#OPTIMIZER += -Zi -Fd$(OBJDIR)/ -Od
|
||||
DEFINES += -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USERNAME)
|
||||
DLLFLAGS += -DEBUG -DEBUGTYPE:CV -OUT:"$@"
|
||||
LDFLAGS += -DEBUG -DEBUGTYPE:CV
|
||||
endif
|
||||
|
||||
# DEFINES += -DWIN32
|
||||
|
||||
ifdef MAPFILE
|
||||
DLLFLAGS += -DEF:$(MAPFILE)
|
||||
endif
|
||||
|
||||
# Change PROCESS to put the mapfile in the correct format for this platform
|
||||
PROCESS_MAP_FILE = cp $(LIBRARY_NAME).def $@
|
||||
|
||||
#
|
||||
# The following is NOT needed for the NSPR 2.0 library.
|
||||
#
|
||||
|
||||
DEFINES += -D_WINDOWS
|
||||
|
||||
# override default, which is ASFLAGS = CFLAGS
|
||||
AS = ml.exe
|
||||
ASFLAGS = -Cp -Sn -Zi -coff $(INCLUDES)
|
||||
|
||||
#
|
||||
# override the definitions of RELEASE_TREE found in tree.mk
|
||||
#
|
||||
ifndef RELEASE_TREE
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(NTBUILD_SHIP)
|
||||
else
|
||||
RELEASE_TREE = //redbuild/components
|
||||
endif
|
||||
else
|
||||
RELEASE_TREE = //redbuild/components
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of LIB_PREFIX and DLL_PREFIX in prefix.mk
|
||||
#
|
||||
|
||||
ifndef LIB_PREFIX
|
||||
LIB_PREFIX = $(NULL)
|
||||
endif
|
||||
|
||||
ifndef DLL_PREFIX
|
||||
DLL_PREFIX = $(NULL)
|
||||
endif
|
||||
|
||||
#
|
||||
# override the definitions of various _SUFFIX symbols in suffix.mk
|
||||
#
|
||||
|
||||
#
|
||||
# Object suffixes
|
||||
#
|
||||
ifndef OBJ_SUFFIX
|
||||
OBJ_SUFFIX = .obj
|
||||
endif
|
||||
|
||||
#
|
||||
# Assembler source suffixes
|
||||
#
|
||||
ifndef ASM_SUFFIX
|
||||
ASM_SUFFIX = .asm
|
||||
endif
|
||||
|
||||
#
|
||||
# Library suffixes
|
||||
#
|
||||
|
||||
ifndef IMPORT_LIB_SUFFIX
|
||||
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
|
||||
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
#
|
||||
# Program suffixes
|
||||
#
|
||||
ifndef PROG_SUFFIX
|
||||
PROG_SUFFIX = .exe
|
||||
endif
|
||||
|
||||
#
|
||||
# override ruleset.mk, removing the "lib" prefix for library names, and
|
||||
# adding the "32" after the LIBRARY_VERSION.
|
||||
#
|
||||
ifdef LIBRARY_NAME
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
|
||||
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
|
||||
endif
|
||||
|
||||
#
|
||||
# override the TARGETS defined in ruleset.mk, adding IMPORT_LIBRARY
|
||||
#
|
||||
ifndef TARGETS
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# Always set CPU_TAG on Linux, OpenVMS, WINCE.
|
||||
#
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
|
||||
#
|
||||
# Config stuff for WINCE 3.0 (MS Pocket PC 2002)
|
||||
#
|
||||
# CPU_ARCH must already be defined to one of:
|
||||
# x86, ARM
|
||||
#
|
||||
# This makefile defines the following variables:
|
||||
# OS_CFLAGS, and OS_DLLFLAGS.
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/WINCE.mk
|
||||
|
||||
CEVersion = 300
|
||||
CePlatform = WIN32_PLATFORM_PSPC=310
|
||||
|
||||
ifeq ($(CPU_ARCH), x86)
|
||||
DEFINES += -D_X86_ -D_i386_ -Di_386_ -Dx86
|
||||
OS_CFLAGS += -Gs8192 -GF
|
||||
OS_DLLFLAGS += -machine:IX86
|
||||
else
|
||||
ifeq ($(CPU_ARCH), ARM)
|
||||
DEFINES += -DARM -D_ARM_
|
||||
OS_DLLFLAGS += -machine:ARM
|
||||
else
|
||||
include CPU_ARCH_is_undefined
|
||||
endif
|
||||
endif
|
||||
|
||||
DEFINES += -D_WIN32_WCE=300 -DUNDER_CE=300
|
||||
DEFINES += -DWIN32_PLATFORM_PSPC=310
|
||||
DEFINES += -DUNICODE -D_UNICODE
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
|
||||
OS_DLLFLAGS += -DLL
|
||||
|
||||
LINKFLAGS = -nologo -PDB:NONE -subsystem:windowsce,3.00 \
|
||||
-nodefaultlib:libc.lib \
|
||||
-nodefaultlib:libcd.lib \
|
||||
-nodefaultlib:libcmt.lib \
|
||||
-nodefaultlib:libcmtd.lib \
|
||||
-nodefaultlib:msvcrt.lib \
|
||||
-nodefaultlib:msvcrtd.lib \
|
||||
-nodefaultlib:oldnames.lib \
|
||||
$(NULL)
|
||||
|
||||
LINK += $(LINKFLAGS)
|
||||
LDFLAGS += $(LINKFLAGS)
|
||||
|
||||
OS_LIBS= coredll.lib corelibc.lib
|
||||
|
||||
#DLLBASE = -base:"0x00100000" -stack:0x10000,0x1000 -entry:"_DllMainCRTStartup"
|
||||
DLLBASE += -align:"4096"
|
||||
|
||||
#SUB_SHLOBJS =
|
||||
#EXTRA_LIBS =
|
||||
#EXTRA_SHARED_LIBS =
|
||||
#OS_LIBS=
|
||||
#LD_LIBS=
|
||||
|
||||
#
|
||||
# Win NT needs -GT so that fibers can work
|
||||
#
|
||||
#OS_CFLAGS += -GT
|
||||
#DEFINES += -DWINNT
|
||||
|
||||
# WINNT uses the lib prefix, Win95 and WinCE don't
|
||||
#NSPR31_LIB_PREFIX = lib
|
||||
@@ -35,20 +35,26 @@
|
||||
# Config stuff for WINNT 3.51
|
||||
#
|
||||
# This makefile defines the following variables:
|
||||
# OS_CFLAGS and OS_DLLFLAGS.
|
||||
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
|
||||
# It has the following internal variables:
|
||||
# OS_PROC_CFLAGS and OS_WIN_CFLAGS.
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/WIN32.mk
|
||||
|
||||
ifeq ($(CPU_ARCH), x386)
|
||||
PROCESSOR := $(shell uname -p)
|
||||
ifeq ($(PROCESSOR), I386)
|
||||
CPU_ARCH = x386
|
||||
OS_PROC_CFLAGS += -D_X86_
|
||||
else
|
||||
ifeq ($(CPU_ARCH), MIPS)
|
||||
ifeq ($(PROCESSOR), MIPS)
|
||||
CPU_ARCH = MIPS
|
||||
OS_PROC_CFLAGS += -D_MIPS_
|
||||
else
|
||||
ifeq ($(CPU_ARCH), ALPHA)
|
||||
ifeq ($(PROCESSOR), ALPHA)
|
||||
CPU_ARCH = ALPHA
|
||||
OS_PROC_CFLAGS += -D_ALPHA_
|
||||
else
|
||||
CPU_ARCH = processor_is_undefined
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -35,22 +35,29 @@
|
||||
# Config stuff for WINNT 4.0
|
||||
#
|
||||
# This makefile defines the following variables:
|
||||
# OS_CFLAGS and OS_DLLFLAGS.
|
||||
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
|
||||
# PROCESSOR is an internal variable.
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/WIN32.mk
|
||||
|
||||
ifeq ($(CPU_ARCH), x386)
|
||||
PROCESSOR := $(shell uname -p)
|
||||
ifeq ($(PROCESSOR), I386)
|
||||
CPU_ARCH = x386
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
DEFINES += -D_X86_
|
||||
else
|
||||
ifeq ($(CPU_ARCH), MIPS)
|
||||
ifeq ($(PROCESSOR), MIPS)
|
||||
CPU_ARCH = MIPS
|
||||
#OS_CFLAGS += -W3 -nologo
|
||||
#DEFINES += -D_MIPS_
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
else
|
||||
ifeq ($(CPU_ARCH), ALPHA)
|
||||
ifeq ($(PROCESSOR), ALPHA)
|
||||
CPU_ARCH = ALPHA
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
DEFINES += -D_ALPHA_=1
|
||||
else
|
||||
CPU_ARCH = processor_is_undefined
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -35,22 +35,29 @@
|
||||
# Config stuff for WINNT 5.0 (Windows 2000)
|
||||
#
|
||||
# This makefile defines the following variables:
|
||||
# OS_CFLAGS and OS_DLLFLAGS.
|
||||
# CPU_ARCH, OS_CFLAGS, and OS_DLLFLAGS.
|
||||
# PROCESSOR is an internal variable.
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/WIN32.mk
|
||||
|
||||
ifeq ($(CPU_ARCH), x386)
|
||||
PROCESSOR := $(shell uname -p)
|
||||
ifeq ($(PROCESSOR), I386)
|
||||
CPU_ARCH = x386
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
DEFINES += -D_X86_
|
||||
else
|
||||
ifeq ($(CPU_ARCH), MIPS)
|
||||
ifeq ($(PROCESSOR), MIPS)
|
||||
CPU_ARCH = MIPS
|
||||
#OS_CFLAGS += -W3 -nologo
|
||||
#DEFINES += -D_MIPS_
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
else
|
||||
ifeq ($(CPU_ARCH), ALPHA)
|
||||
ifeq ($(PROCESSOR), ALPHA)
|
||||
CPU_ARCH = ALPHA
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
DEFINES += -D_ALPHA_=1
|
||||
else
|
||||
CPU_ARCH = processor_is_undefined
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
|
||||
#
|
||||
# Config stuff for WINNT 5.1 (Windows XP)
|
||||
#
|
||||
# This makefile defines the following variables:
|
||||
# OS_CFLAGS and OS_DLLFLAGS.
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/WIN32.mk
|
||||
|
||||
ifeq ($(CPU_ARCH), x386)
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
DEFINES += -D_X86_
|
||||
else
|
||||
ifeq ($(CPU_ARCH), MIPS)
|
||||
#OS_CFLAGS += -W3 -nologo
|
||||
#DEFINES += -D_MIPS_
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
else
|
||||
ifeq ($(CPU_ARCH), ALPHA)
|
||||
OS_CFLAGS += -W3 -nologo
|
||||
DEFINES += -D_ALPHA_=1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS -PDB:NONE
|
||||
#
|
||||
# Win NT needs -GT so that fibers can work
|
||||
#
|
||||
OS_CFLAGS += -GT
|
||||
DEFINES += -DWINNT
|
||||
|
||||
NSPR31_LIB_PREFIX = lib
|
||||
@@ -33,16 +33,6 @@
|
||||
|
||||
#######################################################################
|
||||
# Master "Core Components" macros for getting the OS architecture #
|
||||
# defines these symbols:
|
||||
# 64BIT_TAG
|
||||
# OS_ARCH (from uname -r)
|
||||
# OS_TEST (from uname -m)
|
||||
# OS_RELEASE (from uname -v and/or -r)
|
||||
# OS_TARGET User defined, or set to OS_ARCH
|
||||
# CPU_ARCH (from unmame -m or -p, ONLY on WINNT)
|
||||
# OS_CONFIG OS_TARGET + OS_RELEASE
|
||||
# OBJDIR_TAG
|
||||
# OBJDIR_NAME
|
||||
#######################################################################
|
||||
|
||||
#
|
||||
@@ -63,9 +53,9 @@ OS_ARCH := $(subst /,_,$(shell uname -s))
|
||||
|
||||
OS_TEST := $(shell uname -m)
|
||||
ifeq ($(OS_TEST),i86pc)
|
||||
OS_RELEASE := $(shell uname -r)_$(OS_TEST)
|
||||
OS_RELEASE := $(shell uname -r)_$(OS_TEST)
|
||||
else
|
||||
OS_RELEASE := $(shell uname -r)
|
||||
OS_RELEASE := $(shell uname -r)
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -73,7 +63,7 @@ endif
|
||||
#
|
||||
|
||||
ifeq ($(OS_ARCH),IRIX64)
|
||||
OS_ARCH = IRIX
|
||||
OS_ARCH = IRIX
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -81,7 +71,7 @@ endif
|
||||
#
|
||||
|
||||
ifeq ($(OS_ARCH),BSD_386)
|
||||
OS_ARCH = BSD_OS
|
||||
OS_ARCH = BSD_OS
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -89,23 +79,23 @@ endif
|
||||
#
|
||||
|
||||
ifeq ($(OS_ARCH),UNIX_SV)
|
||||
ifneq ($(findstring NCR, $(shell grep NCR /etc/bcheckrc | head -1 )),)
|
||||
OS_ARCH = NCR
|
||||
else
|
||||
# Make UnixWare something human readable
|
||||
OS_ARCH = UNIXWARE
|
||||
endif
|
||||
ifneq ($(findstring NCR, $(shell grep NCR /etc/bcheckrc | head -1 )),)
|
||||
OS_ARCH = NCR
|
||||
else
|
||||
# Make UnixWare something human readable
|
||||
OS_ARCH = UNIXWARE
|
||||
endif
|
||||
|
||||
# Get the OS release number, not 4.2
|
||||
OS_RELEASE := $(shell uname -v)
|
||||
# Get the OS release number, not 4.2
|
||||
OS_RELEASE := $(shell uname -v)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),UNIX_System_V)
|
||||
OS_ARCH = NEC
|
||||
OS_ARCH = NEC
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
OS_RELEASE := $(shell uname -v).$(shell uname -r)
|
||||
OS_RELEASE := $(shell uname -v).$(shell uname -r)
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -113,13 +103,13 @@ endif
|
||||
#
|
||||
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE),OSF1V4.0)
|
||||
OS_VERSION := $(shell uname -v)
|
||||
ifeq ($(OS_VERSION),564)
|
||||
OS_RELEASE := V4.0B
|
||||
endif
|
||||
ifeq ($(OS_VERSION),878)
|
||||
OS_RELEASE := V4.0D
|
||||
endif
|
||||
OS_VERSION := $(shell uname -v)
|
||||
ifeq ($(OS_VERSION),564)
|
||||
OS_RELEASE := V4.0B
|
||||
endif
|
||||
ifeq ($(OS_VERSION),878)
|
||||
OS_RELEASE := V4.0D
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -127,42 +117,38 @@ endif
|
||||
#
|
||||
|
||||
ifeq ($(OS_ARCH),ReliantUNIX-N)
|
||||
OS_ARCH = ReliantUNIX
|
||||
OS_RELEASE = 5.4
|
||||
OS_ARCH = ReliantUNIX
|
||||
OS_RELEASE = 5.4
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),SINIX-N)
|
||||
OS_ARCH = ReliantUNIX
|
||||
OS_RELEASE = 5.4
|
||||
OS_ARCH = ReliantUNIX
|
||||
OS_RELEASE = 5.4
|
||||
endif
|
||||
|
||||
#
|
||||
# Handle FreeBSD 2.2-STABLE, Linux 2.0.30-osfmach3, and
|
||||
# IRIX 6.5-ALPHA-1289139620.
|
||||
# Handle FreeBSD 2.2-STABLE and Linux 2.0.30-osfmach3
|
||||
#
|
||||
|
||||
ifeq (,$(filter-out Linux FreeBSD IRIX,$(OS_ARCH)))
|
||||
OS_RELEASE := $(shell echo $(OS_RELEASE) | sed 's/-.*//')
|
||||
ifeq (,$(filter-out Linux FreeBSD,$(OS_ARCH)))
|
||||
OS_RELEASE := $(shell echo $(OS_RELEASE) | sed 's/-.*//')
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
OS_RELEASE := $(subst ., ,$(OS_RELEASE))
|
||||
ifneq ($(words $(OS_RELEASE)),1)
|
||||
OS_RELEASE := $(word 1,$(OS_RELEASE)).$(word 2,$(OS_RELEASE))
|
||||
endif
|
||||
OS_RELEASE := $(basename $(OS_RELEASE))
|
||||
endif
|
||||
|
||||
#
|
||||
# For OS/2
|
||||
#
|
||||
ifeq ($(OS_ARCH),OS_2)
|
||||
OS_ARCH = OS2
|
||||
OS_RELEASE := $(shell uname -v)
|
||||
OS_ARCH = OS2
|
||||
OS_RELEASE := $(shell uname -v)
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring OpenVMS,$(OS_ARCH)))
|
||||
OS_ARCH = OpenVMS
|
||||
OS_RELEASE := $(shell uname -v)
|
||||
OS_ARCH = OpenVMS
|
||||
OS_RELEASE := $(shell uname -v)
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
@@ -188,37 +174,30 @@ endif
|
||||
#
|
||||
# The following hack allows one to build on a WIN95 machine (as if
|
||||
# s/he were cross-compiling on a WINNT host for a WIN95 target).
|
||||
# It also accomodates for MKS's and Cygwin's uname.exe.
|
||||
# It also accomodates for MKS's uname.exe. If you never intend
|
||||
# to do development on a WIN95 machine, you don't need this. It doesn't
|
||||
# work any more anyway.
|
||||
#
|
||||
ifeq ($(OS_ARCH),WIN95)
|
||||
OS_ARCH = WINNT
|
||||
OS_TARGET = WIN95
|
||||
OS_ARCH = WINNT
|
||||
OS_TARGET = WIN95
|
||||
endif
|
||||
ifeq ($(OS_ARCH),Windows_95)
|
||||
OS_ARCH = Windows_NT
|
||||
OS_TARGET = WIN95
|
||||
endif
|
||||
ifeq ($(OS_ARCH),CYGWIN_95-4.0)
|
||||
OS_ARCH = CYGWIN_NT-4.0
|
||||
OS_TARGET = WIN95
|
||||
endif
|
||||
ifeq ($(OS_ARCH),CYGWIN_98-4.10)
|
||||
OS_ARCH = CYGWIN_NT-4.0
|
||||
OS_ARCH = Windows_NT
|
||||
OS_TARGET = WIN95
|
||||
endif
|
||||
|
||||
#
|
||||
# On WIN32, we also define the variable CPU_ARCH, if it isn't already.
|
||||
# On WIN32, we also define the variable CPU_ARCH.
|
||||
#
|
||||
ifndef CPU_ARCH
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
CPU_ARCH := $(shell uname -p)
|
||||
ifeq ($(CPU_ARCH),I386)
|
||||
CPU_ARCH = x386
|
||||
CPU_ARCH = x386
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
else
|
||||
#
|
||||
# If uname -s returns "Windows_NT", we assume that we are using
|
||||
# the uname.exe in MKS toolkit.
|
||||
#
|
||||
@@ -227,54 +206,33 @@ endif
|
||||
# Moreover, it doesn't have the -p option, so we need to use uname -m.
|
||||
#
|
||||
ifeq ($(OS_ARCH), Windows_NT)
|
||||
OS_ARCH = WINNT
|
||||
OS_MINOR_RELEASE := $(shell uname -v)
|
||||
# strip leading 0
|
||||
OS_MINOR_RELEASE := $(patsubst 0%,%,$(OS_MINOR_RELEASE))
|
||||
OS_RELEASE := $(OS_RELEASE).$(OS_MINOR_RELEASE)
|
||||
ifndef CPU_ARCH
|
||||
OS_ARCH = WINNT
|
||||
OS_MINOR_RELEASE := $(shell uname -v)
|
||||
ifeq ($(OS_MINOR_RELEASE),00)
|
||||
OS_MINOR_RELEASE = 0
|
||||
endif
|
||||
OS_RELEASE = $(OS_RELEASE).$(OS_MINOR_RELEASE)
|
||||
CPU_ARCH := $(shell uname -m)
|
||||
#
|
||||
# MKS's uname -m returns "586" on a Pentium machine.
|
||||
#
|
||||
ifneq (,$(findstring 86,$(CPU_ARCH)))
|
||||
CPU_ARCH = x386
|
||||
CPU_ARCH = x386
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
#
|
||||
# If uname -s returns "CYGWIN_NT-4.0", we assume that we are using
|
||||
# the uname.exe in the Cygwin tools.
|
||||
#
|
||||
ifeq (CYGWIN_NT,$(findstring CYGWIN_NT,$(OS_ARCH)))
|
||||
OS_RELEASE := $(patsubst CYGWIN_NT-%,%,$(OS_ARCH))
|
||||
OS_ARCH = WINNT
|
||||
ifndef CPU_ARCH
|
||||
CPU_ARCH := $(shell uname -m)
|
||||
#
|
||||
# Cygwin's uname -m returns "i686" on a Pentium Pro machine.
|
||||
#
|
||||
ifneq (,$(findstring 86,$(CPU_ARCH)))
|
||||
CPU_ARCH = x386
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef OS_TARGET
|
||||
OS_TARGET = $(OS_ARCH)
|
||||
OS_TARGET = $(OS_ARCH)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
OS_RELEASE = 4.0
|
||||
OS_RELEASE = 4.0
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
OS_RELEASE =
|
||||
# OS_RELEASE = _3.11
|
||||
endif
|
||||
|
||||
ifdef OS_TARGET_RELEASE
|
||||
OS_RELEASE = $(OS_TARGET_RELEASE)
|
||||
OS_RELEASE =
|
||||
# OS_RELEASE = _3.11
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -289,25 +247,25 @@ OS_CONFIG = $(OS_TARGET)$(OS_RELEASE)
|
||||
#
|
||||
|
||||
ifdef BUILD_OPT
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
OBJDIR_TAG = _O
|
||||
else
|
||||
OBJDIR_TAG = $(64BIT_TAG)_OPT
|
||||
endif
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
OBJDIR_TAG = _O
|
||||
else
|
||||
OBJDIR_TAG = $(64BIT_TAG)_OPT
|
||||
endif
|
||||
else
|
||||
ifdef BUILD_IDG
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
OBJDIR_TAG = _I
|
||||
ifdef BUILD_IDG
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
OBJDIR_TAG = _I
|
||||
else
|
||||
OBJDIR_TAG = $(64BIT_TAG)_IDG
|
||||
endif
|
||||
else
|
||||
OBJDIR_TAG = $(64BIT_TAG)_IDG
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
OBJDIR_TAG = _D
|
||||
else
|
||||
OBJDIR_TAG = $(64BIT_TAG)_DBG
|
||||
endif
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
OBJDIR_TAG = _D
|
||||
else
|
||||
OBJDIR_TAG = $(64BIT_TAG)_DBG
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -319,18 +277,29 @@ endif
|
||||
# IMPL_STRATEGY may be defined too.
|
||||
#
|
||||
|
||||
OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
|
||||
# Name of the binary code directories
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(CPU_ARCH),x386)
|
||||
OBJDIR_NAME = $(OS_CONFIG)$(OBJDIR_TAG).OBJ
|
||||
else
|
||||
OBJDIR_NAME = $(OS_CONFIG)$(CPU_ARCH)$(OBJDIR_TAG).OBJ
|
||||
endif
|
||||
else
|
||||
endif
|
||||
|
||||
ifeq (,$(filter-out WINNT WIN95 WINCE,$(OS_TARGET))) # list omits WIN16
|
||||
OBJDIR_NAME = $(OS_CONFIG)$(CPU_TAG)$(COMPILER_TAG)$(LIBC_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJ
|
||||
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifneq ($(OS_TARGET),WIN16)
|
||||
ifndef BUILD_OPT
|
||||
#
|
||||
# Define USE_DEBUG_RTL if you want to use the debug runtime library
|
||||
# (RTL) in the debug build
|
||||
#
|
||||
ifdef USE_DEBUG_RTL
|
||||
OBJDIR_NAME = $(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJD
|
||||
OBJDIR_NAME = $(OS_CONFIG)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)$(OBJDIR_TAG).OBJD
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
MK_ARCH = included
|
||||
|
||||
63
mozilla/security/coreconf/autoconf.mk.in
Normal file
63
mozilla/security/coreconf/autoconf.mk.in
Normal file
@@ -0,0 +1,63 @@
|
||||
USE_AUTOCONF = 1
|
||||
NO_MDUPDATE = 1
|
||||
OBJDIR_NAME = .
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
includedir = @includedir@
|
||||
libdir = @libdir@
|
||||
datadir = @datadir@
|
||||
|
||||
dist_prefix = @dist_prefix@
|
||||
dist_bindir = @dist_bindir@
|
||||
dist_includedir = @dist_includedir@
|
||||
dist_libdir = @dist_libdir@
|
||||
|
||||
#DIST = $(dist_prefix)
|
||||
|
||||
MOZILLA_CLIENT = @MOZILLA_CLIENT@
|
||||
ENABLE_CMD = @ENABLE_CMD@
|
||||
CC = @CC@
|
||||
CCC = @CXX@
|
||||
OS_CFLAGS = @CFLAGS@ @DSO_CFLAGS@
|
||||
CXXFLAGS = @CXXFLAGS@ @DSO_CFLAGS@
|
||||
HOST_CC = @HOST_CC@
|
||||
HOST_CFLAGS = @HOST_CFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
|
||||
COMPILER_DEPEND = @COMPILER_DEPEND@
|
||||
MDDEPDIR := @MDDEPDIR@
|
||||
|
||||
USE_PTHREADS = @USE_PTHREADS@
|
||||
|
||||
LIB_SUFFIX = @LIB_SUFFIX@
|
||||
DLL_SUFFIX = @DLL_SUFFIX@
|
||||
MKSHLIB = @MKSHLIB@
|
||||
DSO_CFLAGS = @DSO_CFLAGS@
|
||||
DSO_LDOPTS = @DSO_LDOPTS@
|
||||
|
||||
CPU_ARCH = @CPU_ARCH@
|
||||
|
||||
OS_TARGET = @OS_TARGET@
|
||||
OS_ARCH = @OS_ARCH@
|
||||
OS_RELEASE = @OS_RELEASE@
|
||||
OS_TEST = @OS_TEST@
|
||||
|
||||
DEFINES = @DEFINES@ @DEFS@
|
||||
AR = @AR@
|
||||
AR_FLAGS = @AR_FLAGS@
|
||||
AS = @AS@
|
||||
ASFLAGS = @ASFLAGS@
|
||||
LD = @LD@
|
||||
RANLIB = @RANLIB@
|
||||
PERL = @PERL@
|
||||
XARGS = @XARGS@
|
||||
|
||||
OS_LIBS = @OS_LIBS@
|
||||
|
||||
RC = @RC@
|
||||
DLLFLAGS = @DLLFLAGS@
|
||||
|
||||
NSPR_CFLAGS = @NSPR_CFLAGS@
|
||||
NSPR_LIBS = @NSPR_LIBS@
|
||||
@@ -36,20 +36,35 @@
|
||||
# can be overridden in <arch>.mk #
|
||||
#######################################################################
|
||||
|
||||
AS = $(CC)
|
||||
ASFLAGS += $(CFLAGS)
|
||||
CCF = $(CC) $(CFLAGS)
|
||||
LINK_DLL = $(LINK) $(OS_DLLFLAGS) $(DLLFLAGS)
|
||||
LINK_EXE = $(LINK) $(OS_LFLAGS) $(LFLAGS)
|
||||
NFSPWD = $(NSINSTALL_DIR)/nfspwd
|
||||
CFLAGS = $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
|
||||
CFLAGS += $(OPTIMIZER) $(OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
|
||||
$(XCFLAGS)
|
||||
RANLIB = echo
|
||||
CXXFLAGS += $(DEFINES) $(INCLUDES) $(XCFLAGS)
|
||||
TAR = /bin/tar
|
||||
|
||||
NSINSTALL = $(NSINSTALL_DIR)/nsinstall
|
||||
ifeq ($(NSDISTMODE),copy)
|
||||
# copy files, but preserve source mtime
|
||||
INSTALL = $(NSINSTALL)
|
||||
INSTALL += -t
|
||||
else
|
||||
ifeq ($(NSDISTMODE),absolute_symlink)
|
||||
# install using absolute symbolic links
|
||||
INSTALL = $(NSINSTALL)
|
||||
INSTALL += -L `$(NFSPWD)`
|
||||
else
|
||||
# install using relative symbolic links
|
||||
INSTALL = $(NSINSTALL)
|
||||
INSTALL += -R
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# For purify
|
||||
#
|
||||
NOMD_CFLAGS += $(OPTIMIZER) $(NOMD_OS_CFLAGS) $(XP_DEFINE) $(DEFINES) \
|
||||
$(INCLUDES) $(XCFLAGS)
|
||||
NOMD_CFLAGS += $(OPTIMIZER) $(NOMD_OS_CFLAGS) $(XP_DEFINE) $(DEFINES) $(INCLUDES) \
|
||||
$(XCFLAGS)
|
||||
|
||||
MK_COMMAND = included
|
||||
|
||||
@@ -34,135 +34,94 @@
|
||||
#
|
||||
|
||||
#######################################################################
|
||||
# [1.0] Master "Core Components" source and release <architecture> #
|
||||
# tags #
|
||||
#######################################################################
|
||||
ifndef MK_ARCH
|
||||
include $(CORE_DEPTH)/coreconf/arch.mk
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
# [2.0] Master "Core Components" default command macros #
|
||||
# (NOTE: may be overridden in $(OS_TARGET)$(OS_RELEASE).mk) #
|
||||
#######################################################################
|
||||
ifndef MK_COMMAND
|
||||
include $(CORE_DEPTH)/coreconf/command.mk
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
# [3.0] Master "Core Components" <architecture>-specific macros #
|
||||
# (dependent upon <architecture> tags) #
|
||||
# #
|
||||
# We are moving towards just having a $(OS_TARGET).mk file #
|
||||
# as opposed to multiple $(OS_TARGET)$(OS_RELEASE).mk files, #
|
||||
# one for each OS release. #
|
||||
# [1.0] Master "Core Components" default command macros #
|
||||
# (NOTE: may be overridden in $(OS_CONFIG).mk) #
|
||||
#######################################################################
|
||||
|
||||
TARGET_OSES = FreeBSD BSD_OS NetBSD OpenUNIX OS2 QNX Darwin BeOS OpenBSD \
|
||||
OpenVMS
|
||||
|
||||
ifeq (,$(filter-out $(TARGET_OSES),$(OS_TARGET)))
|
||||
include $(CORE_DEPTH)/coreconf/$(OS_TARGET).mk
|
||||
else
|
||||
include $(CORE_DEPTH)/coreconf/$(OS_TARGET)$(OS_RELEASE).mk
|
||||
endif
|
||||
include $(topsrcdir)/coreconf/command.mk
|
||||
|
||||
#######################################################################
|
||||
# [4.0] Master "Core Components" source and release <platform> tags #
|
||||
# [2.0] Master "Core Components" source and release <platform> tags #
|
||||
# (dependent upon <architecture> tags) #
|
||||
#######################################################################
|
||||
PLATFORM = $(OBJDIR_NAME)
|
||||
|
||||
include $(topsrcdir)/coreconf/platform.mk
|
||||
|
||||
#######################################################################
|
||||
# [5.0] Master "Core Components" release <tree> tags #
|
||||
# [3.0] Master "Core Components" release <tree> tags #
|
||||
# (dependent upon <architecture> tags) #
|
||||
#######################################################################
|
||||
ifndef MK_TREE
|
||||
include $(CORE_DEPTH)/coreconf/tree.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/tree.mk
|
||||
|
||||
#######################################################################
|
||||
# [6.0] Master "Core Components" source and release <component> tags #
|
||||
# [4.0] Master "Core Components" source and release <component> tags #
|
||||
# NOTE: A component is also called a module or a subsystem. #
|
||||
# (dependent upon $(MODULE) being defined on the #
|
||||
# command line, as an environment variable, or in individual #
|
||||
# makefiles, or more appropriately, manifest.mn) #
|
||||
#######################################################################
|
||||
ifndef MK_MODULE
|
||||
include $(CORE_DEPTH)/coreconf/module.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/module.mk
|
||||
|
||||
#######################################################################
|
||||
# [7.0] Master "Core Components" release <version> tags #
|
||||
# [5.0] Master "Core Components" release <version> tags #
|
||||
# (dependent upon $(MODULE) being defined on the #
|
||||
# command line, as an environment variable, or in individual #
|
||||
# makefiles, or more appropriately, manifest.mn) #
|
||||
#######################################################################
|
||||
ifndef MK_VERSION
|
||||
include $(CORE_DEPTH)/coreconf/version.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/version.mk
|
||||
|
||||
#######################################################################
|
||||
# [8.0] Master "Core Components" macros to figure out #
|
||||
# [6.0] Master "Core Components" macros to figure out #
|
||||
# binary code location #
|
||||
# (dependent upon <platform> tags) #
|
||||
#######################################################################
|
||||
ifndef MK_LOCATION
|
||||
include $(CORE_DEPTH)/coreconf/location.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/location.mk
|
||||
|
||||
#######################################################################
|
||||
# [9.0] Master "Core Components" <component>-specific source path #
|
||||
# [7.0] Master "Core Components" <component>-specific source path #
|
||||
# (dependent upon <user_source_tree>, <source_component>, #
|
||||
# <version>, and <platform> tags) #
|
||||
#######################################################################
|
||||
ifndef MK_SOURCE
|
||||
include $(CORE_DEPTH)/coreconf/source.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/source.mk
|
||||
|
||||
#######################################################################
|
||||
# [10.0] Master "Core Components" include switch for support header #
|
||||
# [8.0] Master "Core Components" include switch for support header #
|
||||
# files #
|
||||
# (dependent upon <tree>, <component>, <version>, #
|
||||
# and <platform> tags) #
|
||||
#######################################################################
|
||||
ifndef MK_HEADERS
|
||||
include $(CORE_DEPTH)/coreconf/headers.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/headers.mk
|
||||
|
||||
#######################################################################
|
||||
# [11.0] Master "Core Components" for computing program prefixes #
|
||||
# [9.0] Master "Core Components" for computing program prefixes #
|
||||
#######################################################################
|
||||
ifndef MK_PREFIX
|
||||
include $(CORE_DEPTH)/coreconf/prefix.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/prefix.mk
|
||||
|
||||
#######################################################################
|
||||
# [12.0] Master "Core Components" for computing program suffixes #
|
||||
# [10.0] Master "Core Components" for computing program suffixes #
|
||||
# (dependent upon <architecture> tags) #
|
||||
#######################################################################
|
||||
ifndef MK_SUFFIX
|
||||
include $(CORE_DEPTH)/coreconf/suffix.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/suffix.mk
|
||||
|
||||
#######################################################################
|
||||
# [13.0] Master "Core Components" for defining JDK #
|
||||
# [11.0] Master "Core Components" for defining JDK #
|
||||
# (dependent upon <architecture>, <source>, and <suffix> tags)#
|
||||
#######################################################################
|
||||
ifdef NS_USE_JDK
|
||||
include $(CORE_DEPTH)/coreconf/jdk.mk
|
||||
endif
|
||||
|
||||
include $(topsrcdir)/coreconf/jdk.mk
|
||||
|
||||
#######################################################################
|
||||
# [14.0] Master "Core Components" rule set #
|
||||
#######################################################################
|
||||
ifndef MK_RULESET
|
||||
include $(CORE_DEPTH)/coreconf/ruleset.mk
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
# [15.0] Dependencies.
|
||||
# [12.0] Master "Core Components" rule set #
|
||||
# (should always be the last file included by config.mk) #
|
||||
#######################################################################
|
||||
|
||||
-include $(MKDEPENDENCIES)
|
||||
include $(topsrcdir)/coreconf/ruleset.mk
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
INCLUDES += -I$(SOURCE_MDHEADERS_DIR)
|
||||
|
||||
ifneq ($(OS_TARGET),WIN16)
|
||||
INCLUDES += -I$(SOURCE_XPHEADERS_DIR)
|
||||
INCLUDES += -I$(SOURCE_XPHEADERS_DIR)
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -52,9 +52,3 @@ endif
|
||||
#
|
||||
|
||||
INCLUDES += -I$(SOURCE_XPPRIVATE_DIR)
|
||||
|
||||
ifdef MOZILLA_CLIENT
|
||||
INCLUDES += -I$(SOURCE_XP_DIR)/include $(MOZILLA_INCLUDES)
|
||||
endif
|
||||
|
||||
MK_HEADERS = included
|
||||
|
||||
@@ -139,34 +139,18 @@ ifeq ($(OS_ARCH), SunOS)
|
||||
INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH)
|
||||
|
||||
# (3) specify "linker" information
|
||||
ifeq ($(USE_64), 1)
|
||||
JAVA_CPU = $(shell uname -p)v9
|
||||
else
|
||||
JAVA_CPU = $(shell uname -p)
|
||||
endif
|
||||
JAVA_CPU = sparc
|
||||
|
||||
ifeq ($(JDK_VERSION), 1.1)
|
||||
JAVA_LIBDIR = lib/$(JAVA_CPU)
|
||||
else
|
||||
JAVA_LIBDIR = jre/lib/$(JAVA_CPU)
|
||||
endif
|
||||
|
||||
# ** IMPORTANT ** having -lthread before -lnspr is critical on solaris
|
||||
# when linking with -ljava as nspr redefines symbols in libthread that
|
||||
# cause JNI executables to fail with assert of bad thread stack values.
|
||||
JAVA_CLIBS = -lthread
|
||||
|
||||
ifneq ($(JDK_VERSION), 1.1)
|
||||
ifeq ($(USE_64), 1)
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/server
|
||||
else
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic
|
||||
endif
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)
|
||||
JAVA_LIBS += -ljvm -ljava
|
||||
else
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/$(JDK_THREADING_MODEL) -ljava
|
||||
endif
|
||||
JAVA_LIBS = -L$(JAVA_HOME)/$(JAVA_LIBDIR)/$(JDK_THREADING_MODEL) -lhpi
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic -ljvm
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR) -ljava
|
||||
JAVA_LIBS += $(JAVA_CLIBS)
|
||||
|
||||
LDFLAGS += $(JAVA_LIBS)
|
||||
@@ -242,11 +226,8 @@ ifeq ($(OS_ARCH), Linux)
|
||||
|
||||
JAVA_CLIBS =
|
||||
|
||||
ifeq ($(JDK_VERSION), 1.4)
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/server -ljvm
|
||||
else
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic -ljvm
|
||||
endif
|
||||
JAVA_LIBS = -L$(JAVA_HOME)/$(JAVA_LIBDIR)/$(JDK_THREADING_MODEL) -lhpi
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR)/classic -ljvm
|
||||
JAVA_LIBS += -L$(JAVA_HOME)/$(JAVA_LIBDIR) -ljava
|
||||
JAVA_LIBS += $(JAVA_CLIBS)
|
||||
|
||||
@@ -407,13 +388,11 @@ ifeq ($(JDK_CLASSPATH_OPT),)
|
||||
JDK_CLASSPATH_OPT = -classpath $(JDK_CLASSPATH)
|
||||
endif
|
||||
|
||||
ifeq ($(USE_64), 1)
|
||||
JDK_USE_64 = -d64
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
|
||||
ifdef NS_USE_JDK_TOOLSET
|
||||
#######################################################################
|
||||
# [5] Define JDK "Core Components" toolset; #
|
||||
# (always allow a user to override these values) #
|
||||
@@ -451,7 +430,6 @@ ifeq ($(JAVA),)
|
||||
JAVA_FLAGS += $(JDK_DEBUG_OPT)
|
||||
JAVA_FLAGS += $(JDK_CLASSPATH_OPT)
|
||||
JAVA_FLAGS += $(JDK_JIT_OPT)
|
||||
JAVA_FLAGS += $(JDK_USE_64)
|
||||
JAVA = $(JAVA_PROG) $(JAVA_FLAGS)
|
||||
endif
|
||||
|
||||
@@ -466,7 +444,6 @@ ifeq ($(JAVAC),)
|
||||
JAVAC_FLAGS += $(JDK_DEBUG_OPT)
|
||||
JAVAC_FLAGS += $(JDK_CLASSPATH_OPT)
|
||||
JAVAC_FLAGS += $(JDK_CLASS_REPOSITORY_OPT)
|
||||
JAVAC_FLAGS += $(JDK_USE_64)
|
||||
JAVAC = $(JAVAC_PROG) $(JAVAC_FLAGS)
|
||||
endif
|
||||
|
||||
@@ -624,3 +601,5 @@ ifeq ($(SERIALVER),)
|
||||
SERIALVER_FLAGS = $(JDK_THREADING_MODEL_OPT)
|
||||
SERIALVER = $(SERIALVER_PROG) $(SERIALVER_FLAGS)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -32,39 +32,28 @@
|
||||
# GPL.
|
||||
#
|
||||
|
||||
# Input: -d dir -j javahcmd foo1 foo2 . . .
|
||||
# Input: -d dir foo1 foo2 . . .
|
||||
# Compares generated "_jni/foo1.h" file with "foo1.class", and
|
||||
# generated "_jni/foo2.h" file with "foo2.class", etc.
|
||||
# (NOTE: unlike its closely related cousin, outofdate.pl,
|
||||
# the "-d dir" must always be specified)
|
||||
# Runs the javahcmd on all files that are different.
|
||||
#
|
||||
# Returns: list of headers which are OLDER than corresponding class
|
||||
# files (non-existant class files are considered to be real old :-)
|
||||
|
||||
my $javah = "";
|
||||
my $classdir = "";
|
||||
$found = 1;
|
||||
|
||||
while(1) {
|
||||
if ($ARGV[0] eq '-d') {
|
||||
$classdir = $ARGV[1];
|
||||
$classdir .= "/";
|
||||
shift;
|
||||
shift;
|
||||
} elsif($ARGV[0] eq '-j') {
|
||||
$javah = $ARGV[1];
|
||||
shift;
|
||||
shift;
|
||||
} else {
|
||||
last;
|
||||
}
|
||||
if ($ARGV[0] eq '-d')
|
||||
{
|
||||
$classdir = $ARGV[1];
|
||||
$classdir .= "/";
|
||||
shift;
|
||||
shift;
|
||||
}
|
||||
|
||||
if( $javah eq "") {
|
||||
die "Must specify -j <javah command>";
|
||||
}
|
||||
if( $classdir eq "") {
|
||||
die "Must specify -d <classdir>";
|
||||
else
|
||||
{
|
||||
print STDERR "Usage: perl ", $0, " -d dir foo1 foo2 . . .\n";
|
||||
exit -1;
|
||||
}
|
||||
|
||||
foreach $filename (@ARGV)
|
||||
@@ -92,16 +81,12 @@ foreach $filename (@ARGV)
|
||||
# NOTE: Since this is used by "javah", and "javah" refuses to overwrite
|
||||
# an existing file, we force an unlink from this script, since
|
||||
# we actually want to regenerate the header file at this time.
|
||||
unlink $headerfilename;
|
||||
push @filelist, $filename;
|
||||
unlink $headerfilename;
|
||||
print $filename, " ";
|
||||
$found = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if( @filelist ) {
|
||||
$cmd = "$javah " . join(" ",@filelist);
|
||||
$cmd =~ s/\'/\"/g; # because windows doesn't understand single quote
|
||||
print "$cmd\n";
|
||||
exit (system($cmd) >> 8);
|
||||
} else {
|
||||
print "All JNI header files up to date.\n"
|
||||
}
|
||||
print "\n";
|
||||
exit 0;
|
||||
|
||||
|
||||
@@ -39,28 +39,26 @@
|
||||
# Figure out where the binary code lives.
|
||||
#
|
||||
|
||||
ifdef BUILD_TREE
|
||||
ifdef LIBRARY_NAME
|
||||
BUILD = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
|
||||
OBJDIR = $(BUILD_TREE)/nss/$(LIBRARY_NAME)
|
||||
DEPENDENCIES = $(BUILD_TREE)/nss/$(LIBRARY_NAME)/.md
|
||||
else
|
||||
BUILD = $(BUILD_TREE)/nss
|
||||
OBJDIR = $(BUILD_TREE)/nss
|
||||
DEPENDENCIES = $(BUILD_TREE)/nss/.md
|
||||
endif
|
||||
else
|
||||
BUILD = $(PLATFORM)
|
||||
OBJDIR = $(PLATFORM)
|
||||
DEPENDENCIES = $(PLATFORM)/.md
|
||||
|
||||
ifdef MOZILLA_CLIENT
|
||||
DIST = $(CORE_DEPTH)/../dist
|
||||
else
|
||||
DIST = $(CORE_DEPTH)/dist
|
||||
endif
|
||||
|
||||
DIST = $(SOURCE_PREFIX)/$(PLATFORM)
|
||||
DEPENDENCIES = $(PLATFORM)/.md
|
||||
MKDEPEND_DIR = $(CORE_DEPTH)/coreconf/mkdepend
|
||||
MKDEPEND_SRCDIR = $(topsrcdir)/coreconf/mkdepend
|
||||
MKDEPEND = $(MKDEPEND_DIR)/mkdepend
|
||||
MKDEPENDENCIES = depend.mk
|
||||
NSINSTALL_DIR = $(CORE_DEPTH)/coreconf/nsinstall
|
||||
|
||||
ifdef BUILD_DEBUG_GC
|
||||
DEFINES += -DDEBUG_GC
|
||||
DEFINES += -DDEBUG_GC
|
||||
endif
|
||||
|
||||
GARBAGE += $(DEPENDENCIES) core $(wildcard core.[0-9]*)
|
||||
|
||||
MK_LOCATION = included
|
||||
BUILD_TOOLS = $(topsrcdir)/build/unix
|
||||
AUTOCONF_TOOLS = $(topsrcdir)/build/autoconf
|
||||
|
||||
@@ -30,20 +30,29 @@
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
CORE_DEPTH = ../../..
|
||||
|
||||
LIBRARY_NAME = cmdutil
|
||||
CORE_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
# MODULE public and private header directories are implicitly REQUIRED.
|
||||
MODULE = seccmd
|
||||
MODULE = coreconf
|
||||
|
||||
DEFINES = -DNSPR20
|
||||
|
||||
EXPORTS = cmdutil.h \
|
||||
$(NULL)
|
||||
|
||||
CSRCS = cmdline.c \
|
||||
CSRCS = \
|
||||
cppsetup.c \
|
||||
ifparser.c \
|
||||
include.c \
|
||||
main.c \
|
||||
parse.c \
|
||||
pr.c \
|
||||
$(NULL)
|
||||
|
||||
REQUIRES = nss nspr dbm
|
||||
PROGRAM = mkdepend
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/autoconf.mk
|
||||
include $(topsrcdir)/coreconf/config.mk
|
||||
|
||||
include $(topsrcdir)/coreconf/rules.mk
|
||||
|
||||
DEFINES += -DINCLUDEDIR=\"/usr/include\" -DOBJSUFFIX=\".o\"
|
||||
|
||||
244
mozilla/security/coreconf/mkdepend/cppsetup.c
Normal file
244
mozilla/security/coreconf/mkdepend/cppsetup.c
Normal file
@@ -0,0 +1,244 @@
|
||||
/* $XConsortium: cppsetup.c,v 1.13 94/04/17 20:10:32 gildea Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
|
||||
#ifdef CPP
|
||||
/*
|
||||
* This file is strictly for the sake of cpy.y and yylex.c (if
|
||||
* you indeed have the source for cpp).
|
||||
*/
|
||||
#define IB 1
|
||||
#define SB 2
|
||||
#define NB 4
|
||||
#define CB 8
|
||||
#define QB 16
|
||||
#define WB 32
|
||||
#define SALT '#'
|
||||
#if pdp11 | vax | ns16000 | mc68000 | ibm032
|
||||
#define COFF 128
|
||||
#else
|
||||
#define COFF 0
|
||||
#endif
|
||||
/*
|
||||
* These variables used by cpy.y and yylex.c
|
||||
*/
|
||||
extern char *outp, *inp, *newp, *pend;
|
||||
extern char *ptrtab;
|
||||
extern char fastab[];
|
||||
extern char slotab[];
|
||||
|
||||
/*
|
||||
* cppsetup
|
||||
*/
|
||||
struct filepointer *currentfile;
|
||||
struct inclist *currentinc;
|
||||
|
||||
cppsetup(line, filep, inc)
|
||||
register char *line;
|
||||
register struct filepointer *filep;
|
||||
register struct inclist *inc;
|
||||
{
|
||||
register char *p, savec;
|
||||
static boolean setupdone = FALSE;
|
||||
boolean value;
|
||||
|
||||
if (!setupdone) {
|
||||
cpp_varsetup();
|
||||
setupdone = TRUE;
|
||||
}
|
||||
|
||||
currentfile = filep;
|
||||
currentinc = inc;
|
||||
inp = newp = line;
|
||||
for (p=newp; *p; p++)
|
||||
;
|
||||
|
||||
/*
|
||||
* put a newline back on the end, and set up pend, etc.
|
||||
*/
|
||||
*p++ = '\n';
|
||||
savec = *p;
|
||||
*p = '\0';
|
||||
pend = p;
|
||||
|
||||
ptrtab = slotab+COFF;
|
||||
*--inp = SALT;
|
||||
outp=inp;
|
||||
value = yyparse();
|
||||
*p = savec;
|
||||
return(value);
|
||||
}
|
||||
|
||||
struct symtab *lookup(symbol)
|
||||
char *symbol;
|
||||
{
|
||||
static struct symtab undefined;
|
||||
struct symtab *sp;
|
||||
|
||||
sp = isdefined(symbol, currentinc, NULL);
|
||||
if (sp == NULL) {
|
||||
sp = &undefined;
|
||||
sp->s_value = NULL;
|
||||
}
|
||||
return (sp);
|
||||
}
|
||||
|
||||
pperror(tag, x0,x1,x2,x3,x4)
|
||||
int tag,x0,x1,x2,x3,x4;
|
||||
{
|
||||
warning("\"%s\", line %d: ", currentinc->i_file, currentfile->f_line);
|
||||
warning(x0,x1,x2,x3,x4);
|
||||
}
|
||||
|
||||
|
||||
yyerror(s)
|
||||
register char *s;
|
||||
{
|
||||
fatalerr("Fatal error: %s\n", s);
|
||||
}
|
||||
#else /* not CPP */
|
||||
|
||||
#include "ifparser.h"
|
||||
struct _parse_data {
|
||||
struct filepointer *filep;
|
||||
struct inclist *inc;
|
||||
const char *line;
|
||||
};
|
||||
|
||||
static const char *
|
||||
_my_if_errors (ip, cp, expecting)
|
||||
IfParser *ip;
|
||||
const char *cp;
|
||||
const char *expecting;
|
||||
{
|
||||
#ifdef DEBUG_MKDEPEND
|
||||
struct _parse_data *pd = (struct _parse_data *) ip->data;
|
||||
int lineno = pd->filep->f_line;
|
||||
char *filename = pd->inc->i_file;
|
||||
char prefix[300];
|
||||
int prefixlen;
|
||||
int i;
|
||||
|
||||
sprintf (prefix, "\"%s\":%d", filename, lineno);
|
||||
prefixlen = strlen(prefix);
|
||||
fprintf (stderr, "%s: %s", prefix, pd->line);
|
||||
i = cp - pd->line;
|
||||
if (i > 0 && pd->line[i-1] != '\n') {
|
||||
putc ('\n', stderr);
|
||||
}
|
||||
for (i += prefixlen + 3; i > 0; i--) {
|
||||
putc (' ', stderr);
|
||||
}
|
||||
fprintf (stderr, "^--- expecting %s\n", expecting);
|
||||
#endif /* DEBUG_MKDEPEND */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
#define MAXNAMELEN 256
|
||||
|
||||
static struct symtab *
|
||||
_lookup_variable (ip, var, len)
|
||||
IfParser *ip;
|
||||
const char *var;
|
||||
int len;
|
||||
{
|
||||
char tmpbuf[MAXNAMELEN + 1];
|
||||
struct _parse_data *pd = (struct _parse_data *) ip->data;
|
||||
|
||||
if (len > MAXNAMELEN)
|
||||
return 0;
|
||||
|
||||
strncpy (tmpbuf, var, len);
|
||||
tmpbuf[len] = '\0';
|
||||
return isdefined (tmpbuf, pd->inc, NULL);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
_my_eval_defined (ip, var, len)
|
||||
IfParser *ip;
|
||||
const char *var;
|
||||
int len;
|
||||
{
|
||||
if (_lookup_variable (ip, var, len))
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define isvarfirstletter(ccc) (isalpha(ccc) || (ccc) == '_')
|
||||
|
||||
static int
|
||||
_my_eval_variable (ip, var, len)
|
||||
IfParser *ip;
|
||||
const char *var;
|
||||
int len;
|
||||
{
|
||||
struct symtab *s;
|
||||
|
||||
s = _lookup_variable (ip, var, len);
|
||||
if (!s)
|
||||
return 0;
|
||||
do {
|
||||
var = s->s_value;
|
||||
if (!isvarfirstletter(*var))
|
||||
break;
|
||||
s = _lookup_variable (ip, var, strlen(var));
|
||||
} while (s);
|
||||
|
||||
return atoi(var);
|
||||
}
|
||||
|
||||
|
||||
cppsetup(line, filep, inc)
|
||||
register char *line;
|
||||
register struct filepointer *filep;
|
||||
register struct inclist *inc;
|
||||
{
|
||||
IfParser ip;
|
||||
struct _parse_data pd;
|
||||
int val = 0;
|
||||
|
||||
pd.filep = filep;
|
||||
pd.inc = inc;
|
||||
pd.line = line;
|
||||
ip.funcs.handle_error = _my_if_errors;
|
||||
ip.funcs.eval_defined = _my_eval_defined;
|
||||
ip.funcs.eval_variable = _my_eval_variable;
|
||||
ip.data = (char *) &pd;
|
||||
|
||||
(void) ParseIfExpression (&ip, line, &val);
|
||||
if (val)
|
||||
return IF;
|
||||
else
|
||||
return IFFALSE;
|
||||
}
|
||||
#endif /* CPP */
|
||||
|
||||
150
mozilla/security/coreconf/mkdepend/def.h
Normal file
150
mozilla/security/coreconf/mkdepend/def.h
Normal file
@@ -0,0 +1,150 @@
|
||||
/* $XConsortium: def.h,v 1.25 94/04/17 20:10:33 gildea Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef NO_X11
|
||||
#include <X11/Xosdefs.h>
|
||||
#ifdef WIN32
|
||||
#include <X11/Xw32defs.h>
|
||||
#endif
|
||||
#ifndef SUNOS4
|
||||
#include <X11/Xfuncproto.h>
|
||||
#endif /* SUNOS4 */
|
||||
#endif /* NO_X11 */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#ifndef X_NOT_POSIX
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define _POSIX_SOURCE
|
||||
#endif
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#define MAXDEFINES 512
|
||||
#define MAXFILES 1024 /* Increased from 512. -mcafee */
|
||||
#define MAXDIRS 64
|
||||
#define SYMTABINC 10 /* must be > 1 for define() to work right */
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
/* the following must match the directives table in main.c */
|
||||
#define IF 0
|
||||
#define IFDEF 1
|
||||
#define IFNDEF 2
|
||||
#define ELSE 3
|
||||
#define ENDIF 4
|
||||
#define DEFINE 5
|
||||
#define UNDEF 6
|
||||
#define INCLUDE 7
|
||||
#define LINE 8
|
||||
#define PRAGMA 9
|
||||
#define ERROR 10
|
||||
#define IDENT 11
|
||||
#define SCCS 12
|
||||
#define ELIF 13
|
||||
#define EJECT 14
|
||||
#define IFFALSE 15 /* pseudo value --- never matched */
|
||||
#define ELIFFALSE 16 /* pseudo value --- never matched */
|
||||
#define INCLUDEDOT 17 /* pseudo value --- never matched */
|
||||
#define IFGUESSFALSE 18 /* pseudo value --- never matched */
|
||||
#define ELIFGUESSFALSE 19 /* pseudo value --- never matched */
|
||||
|
||||
#ifdef DEBUG
|
||||
extern int _debugmask;
|
||||
/*
|
||||
* debug levels are:
|
||||
*
|
||||
* 0 show ifn*(def)*,endif
|
||||
* 1 trace defined/!defined
|
||||
* 2 show #include
|
||||
* 3 show #include SYMBOL
|
||||
* 4-6 unused
|
||||
*/
|
||||
#define debug(level,arg) { if (_debugmask & (1 << level)) warning arg; }
|
||||
#else
|
||||
#define debug(level,arg) /**/
|
||||
#endif /* DEBUG */
|
||||
|
||||
typedef unsigned char boolean;
|
||||
|
||||
struct symtab {
|
||||
char *s_name;
|
||||
char *s_value;
|
||||
};
|
||||
|
||||
struct inclist {
|
||||
char *i_incstring; /* string from #include line */
|
||||
char *i_file; /* path name of the include file */
|
||||
struct inclist **i_list; /* list of files it itself includes */
|
||||
int i_listlen; /* length of i_list */
|
||||
struct symtab *i_defs; /* symbol table for this file */
|
||||
int i_ndefs; /* current # defines */
|
||||
int i_deflen; /* amount of space in table */
|
||||
boolean i_defchecked; /* whether defines have been checked */
|
||||
boolean i_notified; /* whether we have revealed includes */
|
||||
boolean i_marked; /* whether it's in the makefile */
|
||||
boolean i_searched; /* whether we have read this */
|
||||
boolean i_included_sym; /* whether #include SYMBOL was found */
|
||||
/* Can't use i_list if TRUE */
|
||||
};
|
||||
|
||||
struct filepointer {
|
||||
char *f_p;
|
||||
char *f_base;
|
||||
char *f_end;
|
||||
long f_len;
|
||||
long f_line;
|
||||
};
|
||||
|
||||
#ifndef X_NOT_STDC_ENV
|
||||
#include <stdlib.h>
|
||||
#if defined(macII) && !defined(__STDC__) /* stdlib.h fails to define these */
|
||||
char *malloc(), *realloc();
|
||||
#endif /* macII */
|
||||
#else
|
||||
char *malloc();
|
||||
char *realloc();
|
||||
#endif
|
||||
|
||||
char *copy();
|
||||
char *base_name();
|
||||
char *getline();
|
||||
struct symtab *slookup();
|
||||
struct symtab *isdefined();
|
||||
struct symtab *fdefined();
|
||||
struct filepointer *getfile();
|
||||
struct inclist *newinclude();
|
||||
struct inclist *inc_path();
|
||||
|
||||
#if NeedVarargsPrototypes
|
||||
extern fatalerr(char *, ...);
|
||||
extern warning(char *, ...);
|
||||
extern warning1(char *, ...);
|
||||
#endif
|
||||
458
mozilla/security/coreconf/mkdepend/ifparser.c
Normal file
458
mozilla/security/coreconf/mkdepend/ifparser.c
Normal file
@@ -0,0 +1,458 @@
|
||||
/*
|
||||
* $XConsortium: ifparser.c,v 1.8 95/06/03 00:01:41 gildea Exp $
|
||||
*
|
||||
* Copyright 1992 Network Computing Devices, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted, provided
|
||||
* that the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Network Computing Devices may not be
|
||||
* used in advertising or publicity pertaining to distribution of the software
|
||||
* without specific, written prior permission. Network Computing Devices makes
|
||||
* no representations about the suitability of this software for any purpose.
|
||||
* It is provided ``as is'' without express or implied warranty.
|
||||
*
|
||||
* NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
|
||||
* IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* Author: Jim Fulton
|
||||
* Network Computing Devices, Inc.
|
||||
*
|
||||
* Simple if statement processor
|
||||
*
|
||||
* This module can be used to evaluate string representations of C language
|
||||
* if constructs. It accepts the following grammar:
|
||||
*
|
||||
* EXPRESSION := VALUE
|
||||
* | VALUE BINOP EXPRESSION
|
||||
*
|
||||
* VALUE := '(' EXPRESSION ')'
|
||||
* | '!' VALUE
|
||||
* | '-' VALUE
|
||||
* | 'defined' '(' variable ')'
|
||||
* | 'defined' variable
|
||||
* | # variable '(' variable-list ')'
|
||||
* | variable
|
||||
* | number
|
||||
*
|
||||
* BINOP := '*' | '/' | '%'
|
||||
* | '+' | '-'
|
||||
* | '<<' | '>>'
|
||||
* | '<' | '>' | '<=' | '>='
|
||||
* | '==' | '!='
|
||||
* | '&' | '|'
|
||||
* | '&&' | '||'
|
||||
*
|
||||
* The normal C order of precidence is supported.
|
||||
*
|
||||
*
|
||||
* External Entry Points:
|
||||
*
|
||||
* ParseIfExpression parse a string for #if
|
||||
*/
|
||||
|
||||
#include "ifparser.h"
|
||||
#include <ctype.h>
|
||||
|
||||
/****************************************************************************
|
||||
Internal Macros and Utilities for Parser
|
||||
****************************************************************************/
|
||||
|
||||
#define DO(val) if (!(val)) return NULL
|
||||
#define CALLFUNC(ggg,fff) (*((ggg)->funcs.fff))
|
||||
#define SKIPSPACE(ccc) while (isspace(*ccc)) ccc++
|
||||
#define isvarfirstletter(ccc) (isalpha(ccc) || (ccc) == '_')
|
||||
|
||||
|
||||
static const char *
|
||||
parse_variable (g, cp, varp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
const char **varp;
|
||||
{
|
||||
SKIPSPACE (cp);
|
||||
|
||||
if (!isvarfirstletter (*cp))
|
||||
return CALLFUNC(g, handle_error) (g, cp, "variable name");
|
||||
|
||||
*varp = cp;
|
||||
/* EMPTY */
|
||||
for (cp++; isalnum(*cp) || *cp == '_'; cp++) ;
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_number (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
SKIPSPACE (cp);
|
||||
|
||||
if (!isdigit(*cp))
|
||||
return CALLFUNC(g, handle_error) (g, cp, "number");
|
||||
|
||||
#ifdef WIN32
|
||||
*valp = strtol(cp, &cp, 0);
|
||||
#else
|
||||
*valp = atoi (cp);
|
||||
/* EMPTY */
|
||||
for (cp++; isdigit(*cp); cp++) ;
|
||||
#endif
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_value (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
const char *var;
|
||||
|
||||
*valp = 0;
|
||||
|
||||
SKIPSPACE (cp);
|
||||
if (!*cp)
|
||||
return cp;
|
||||
|
||||
switch (*cp) {
|
||||
case '(':
|
||||
DO (cp = ParseIfExpression (g, cp + 1, valp));
|
||||
SKIPSPACE (cp);
|
||||
if (*cp != ')')
|
||||
return CALLFUNC(g, handle_error) (g, cp, ")");
|
||||
|
||||
return cp + 1; /* skip the right paren */
|
||||
|
||||
case '!':
|
||||
DO (cp = parse_value (g, cp + 1, valp));
|
||||
*valp = !(*valp);
|
||||
return cp;
|
||||
|
||||
case '-':
|
||||
DO (cp = parse_value (g, cp + 1, valp));
|
||||
*valp = -(*valp);
|
||||
return cp;
|
||||
|
||||
case '#':
|
||||
DO (cp = parse_variable (g, cp + 1, &var));
|
||||
SKIPSPACE (cp);
|
||||
if (*cp != '(')
|
||||
return CALLFUNC(g, handle_error) (g, cp, "(");
|
||||
do {
|
||||
DO (cp = parse_variable (g, cp + 1, &var));
|
||||
SKIPSPACE (cp);
|
||||
} while (*cp && *cp != ')');
|
||||
if (*cp != ')')
|
||||
return CALLFUNC(g, handle_error) (g, cp, ")");
|
||||
*valp = 1; /* XXX */
|
||||
return cp + 1;
|
||||
|
||||
case 'd':
|
||||
if (strncmp (cp, "defined", 7) == 0 && !isalnum(cp[7])) {
|
||||
int paren = 0;
|
||||
int len;
|
||||
|
||||
cp += 7;
|
||||
SKIPSPACE (cp);
|
||||
if (*cp == '(') {
|
||||
paren = 1;
|
||||
cp++;
|
||||
}
|
||||
DO (cp = parse_variable (g, cp, &var));
|
||||
len = cp - var;
|
||||
SKIPSPACE (cp);
|
||||
if (paren && *cp != ')')
|
||||
return CALLFUNC(g, handle_error) (g, cp, ")");
|
||||
*valp = (*(g->funcs.eval_defined)) (g, var, len);
|
||||
return cp + paren; /* skip the right paren */
|
||||
}
|
||||
/* fall out */
|
||||
}
|
||||
|
||||
if (isdigit(*cp)) {
|
||||
DO (cp = parse_number (g, cp, valp));
|
||||
} else if (!isvarfirstletter(*cp))
|
||||
return CALLFUNC(g, handle_error) (g, cp, "variable or number");
|
||||
else {
|
||||
DO (cp = parse_variable (g, cp, &var));
|
||||
*valp = (*(g->funcs.eval_variable)) (g, var, cp - var);
|
||||
}
|
||||
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static const char *
|
||||
parse_product (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_value (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '*':
|
||||
DO (cp = parse_product (g, cp + 1, &rightval));
|
||||
*valp = (*valp * rightval);
|
||||
break;
|
||||
|
||||
case '/':
|
||||
DO (cp = parse_product (g, cp + 1, &rightval));
|
||||
|
||||
/* Do nothing in the divide-by-zero case. */
|
||||
if (rightval) {
|
||||
*valp = (*valp / rightval);
|
||||
}
|
||||
break;
|
||||
|
||||
case '%':
|
||||
DO (cp = parse_product (g, cp + 1, &rightval));
|
||||
*valp = (*valp % rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_sum (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_product (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '+':
|
||||
DO (cp = parse_sum (g, cp + 1, &rightval));
|
||||
*valp = (*valp + rightval);
|
||||
break;
|
||||
|
||||
case '-':
|
||||
DO (cp = parse_sum (g, cp + 1, &rightval));
|
||||
*valp = (*valp - rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_shift (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_sum (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '<':
|
||||
if (cp[1] == '<') {
|
||||
DO (cp = parse_shift (g, cp + 2, &rightval));
|
||||
*valp = (*valp << rightval);
|
||||
}
|
||||
break;
|
||||
|
||||
case '>':
|
||||
if (cp[1] == '>') {
|
||||
DO (cp = parse_shift (g, cp + 2, &rightval));
|
||||
*valp = (*valp >> rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_inequality (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_shift (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '<':
|
||||
if (cp[1] == '=') {
|
||||
DO (cp = parse_inequality (g, cp + 2, &rightval));
|
||||
*valp = (*valp <= rightval);
|
||||
} else {
|
||||
DO (cp = parse_inequality (g, cp + 1, &rightval));
|
||||
*valp = (*valp < rightval);
|
||||
}
|
||||
break;
|
||||
|
||||
case '>':
|
||||
if (cp[1] == '=') {
|
||||
DO (cp = parse_inequality (g, cp + 2, &rightval));
|
||||
*valp = (*valp >= rightval);
|
||||
} else {
|
||||
DO (cp = parse_inequality (g, cp + 1, &rightval));
|
||||
*valp = (*valp > rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_equality (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_inequality (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '=':
|
||||
if (cp[1] == '=')
|
||||
cp++;
|
||||
DO (cp = parse_equality (g, cp + 1, &rightval));
|
||||
*valp = (*valp == rightval);
|
||||
break;
|
||||
|
||||
case '!':
|
||||
if (cp[1] != '=')
|
||||
break;
|
||||
DO (cp = parse_equality (g, cp + 2, &rightval));
|
||||
*valp = (*valp != rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_band (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_equality (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '&':
|
||||
if (cp[1] != '&') {
|
||||
DO (cp = parse_band (g, cp + 1, &rightval));
|
||||
*valp = (*valp & rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_bor (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_band (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '|':
|
||||
if (cp[1] != '|') {
|
||||
DO (cp = parse_bor (g, cp + 1, &rightval));
|
||||
*valp = (*valp | rightval);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_land (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_bor (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '&':
|
||||
if (cp[1] != '&')
|
||||
return CALLFUNC(g, handle_error) (g, cp, "&&");
|
||||
DO (cp = parse_land (g, cp + 2, &rightval));
|
||||
*valp = (*valp && rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
static const char *
|
||||
parse_lor (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
int rightval;
|
||||
|
||||
DO (cp = parse_land (g, cp, valp));
|
||||
SKIPSPACE (cp);
|
||||
|
||||
switch (*cp) {
|
||||
case '|':
|
||||
if (cp[1] != '|')
|
||||
return CALLFUNC(g, handle_error) (g, cp, "||");
|
||||
DO (cp = parse_lor (g, cp + 2, &rightval));
|
||||
*valp = (*valp || rightval);
|
||||
break;
|
||||
}
|
||||
return cp;
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************
|
||||
External Entry Points
|
||||
****************************************************************************/
|
||||
|
||||
const char *
|
||||
ParseIfExpression (g, cp, valp)
|
||||
IfParser *g;
|
||||
const char *cp;
|
||||
int *valp;
|
||||
{
|
||||
return parse_lor (g, cp, valp);
|
||||
}
|
||||
|
||||
|
||||
76
mozilla/security/coreconf/mkdepend/ifparser.h
Normal file
76
mozilla/security/coreconf/mkdepend/ifparser.h
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* $XConsortium: ifparser.h,v 1.1 92/08/22 13:05:39 rws Exp $
|
||||
*
|
||||
* Copyright 1992 Network Computing Devices, Inc.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted, provided
|
||||
* that the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of Network Computing Devices may not be
|
||||
* used in advertising or publicity pertaining to distribution of the software
|
||||
* without specific, written prior permission. Network Computing Devices makes
|
||||
* no representations about the suitability of this software for any purpose.
|
||||
* It is provided ``as is'' without express or implied warranty.
|
||||
*
|
||||
* NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
|
||||
* IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
|
||||
* INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
* Author: Jim Fulton
|
||||
* Network Computing Devices, Inc.
|
||||
*
|
||||
* Simple if statement processor
|
||||
*
|
||||
* This module can be used to evaluate string representations of C language
|
||||
* if constructs. It accepts the following grammar:
|
||||
*
|
||||
* EXPRESSION := VALUE
|
||||
* | VALUE BINOP EXPRESSION
|
||||
*
|
||||
* VALUE := '(' EXPRESSION ')'
|
||||
* | '!' VALUE
|
||||
* | '-' VALUE
|
||||
* | 'defined' '(' variable ')'
|
||||
* | variable
|
||||
* | number
|
||||
*
|
||||
* BINOP := '*' | '/' | '%'
|
||||
* | '+' | '-'
|
||||
* | '<<' | '>>'
|
||||
* | '<' | '>' | '<=' | '>='
|
||||
* | '==' | '!='
|
||||
* | '&' | '|'
|
||||
* | '&&' | '||'
|
||||
*
|
||||
* The normal C order of precidence is supported.
|
||||
*
|
||||
*
|
||||
* External Entry Points:
|
||||
*
|
||||
* ParseIfExpression parse a string for #if
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#define const /**/
|
||||
typedef int Bool;
|
||||
#define False 0
|
||||
#define True 1
|
||||
|
||||
typedef struct _if_parser {
|
||||
struct { /* functions */
|
||||
char *(*handle_error) (/* struct _if_parser *, const char *,
|
||||
const char * */);
|
||||
int (*eval_variable) (/* struct _if_parser *, const char *, int */);
|
||||
int (*eval_defined) (/* struct _if_parser *, const char *, int */);
|
||||
} funcs;
|
||||
char *data;
|
||||
} IfParser;
|
||||
|
||||
char *ParseIfExpression (/* IfParser *, const char *, int * */);
|
||||
|
||||
730
mozilla/security/coreconf/mkdepend/imakemdep.h
Normal file
730
mozilla/security/coreconf/mkdepend/imakemdep.h
Normal file
@@ -0,0 +1,730 @@
|
||||
|
||||
/* $XConsortium: imakemdep.h,v 1.83 95/04/07 19:47:46 kaleb Exp $ */
|
||||
/* $XFree86: xc/config/imake/imakemdep.h,v 3.12 1995/07/08 10:22:17 dawes Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* This file contains machine-dependent constants for the imake utility.
|
||||
* When porting imake, read each of the steps below and add in any necessary
|
||||
* definitions. In general you should *not* edit ccimake.c or imake.c!
|
||||
*/
|
||||
|
||||
#ifdef CCIMAKE
|
||||
/*
|
||||
* Step 1: imake_ccflags
|
||||
* Define any special flags that will be needed to get imake.c to compile.
|
||||
* These will be passed to the compile along with the contents of the
|
||||
* make variable BOOTSTRAPCFLAGS.
|
||||
*/
|
||||
#ifdef hpux
|
||||
#ifdef hp9000s800
|
||||
#define imake_ccflags "-DSYSV"
|
||||
#else
|
||||
#define imake_ccflags "-Wc,-Nd4000,-Ns3000 -DSYSV"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(macII) || defined(_AUX_SOURCE)
|
||||
#define imake_ccflags "-DmacII -DSYSV"
|
||||
#endif
|
||||
|
||||
#ifdef stellar
|
||||
#define imake_ccflags "-DSYSV"
|
||||
#endif
|
||||
|
||||
#if defined(USL) || defined(Oki) || defined(NCR)
|
||||
#define imake_ccflags "-Xc -DSVR4"
|
||||
#endif
|
||||
|
||||
#ifdef sony
|
||||
#if defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
|
||||
#define imake_ccflags "-DSVR4"
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
#if NEWSOS < 41
|
||||
#define imake_ccflags "-Dbsd43 -DNOSTDHDRS"
|
||||
#else
|
||||
#if NEWSOS < 42
|
||||
#define imake_ccflags "-Dbsd43"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _CRAY
|
||||
#define imake_ccflags "-DSYSV -DUSG"
|
||||
#endif
|
||||
|
||||
#if defined(_IBMR2) || defined(aix)
|
||||
#define imake_ccflags "-Daix -DSYSV"
|
||||
#endif
|
||||
|
||||
#ifdef Mips
|
||||
# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
|
||||
# define imake_ccflags "-DBSD43"
|
||||
# else
|
||||
# define imake_ccflags "-DSYSV"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef is68k
|
||||
#define imake_ccflags "-Dluna -Duniosb"
|
||||
#endif
|
||||
|
||||
#ifdef SYSV386
|
||||
# ifdef SVR4
|
||||
# define imake_ccflags "-Xc -DSVR4"
|
||||
# else
|
||||
# define imake_ccflags "-DSYSV"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SVR4
|
||||
# ifdef i386
|
||||
# define imake_ccflags "-Xc -DSVR4"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SYSV
|
||||
# ifdef i386
|
||||
# define imake_ccflags "-DSYSV"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __convex__
|
||||
#define imake_ccflags "-fn -tm c1"
|
||||
#endif
|
||||
|
||||
#ifdef apollo
|
||||
#define imake_ccflags "-DX_NOT_POSIX"
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
#define imake_ccflags "-nologo -batch -D__STDC__"
|
||||
#endif
|
||||
|
||||
#ifdef __uxp__
|
||||
#define imake_ccflags "-DSVR4 -DANSICPP"
|
||||
#endif
|
||||
|
||||
#ifdef __sxg__
|
||||
#define imake_ccflags "-DSYSV -DUSG -DNOSTDHDRS"
|
||||
#endif
|
||||
|
||||
#ifdef sequent
|
||||
#define imake_ccflags "-DX_NOT_STDC_ENV -DX_NOT_POSIX"
|
||||
#endif
|
||||
|
||||
#ifdef _SEQUENT_
|
||||
#define imake_ccflags "-DSYSV -DUSG"
|
||||
#endif
|
||||
|
||||
#if defined(SX) || defined(PC_UX)
|
||||
#define imake_ccflags "-DSYSV"
|
||||
#endif
|
||||
|
||||
#ifdef nec_ews_svr2
|
||||
#define imake_ccflags "-DUSG"
|
||||
#endif
|
||||
|
||||
#if defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up) || defined(_nec_ft)
|
||||
#define imake_ccflags "-DSVR4"
|
||||
#endif
|
||||
|
||||
#ifdef MACH
|
||||
#define imake_ccflags "-DNOSTDHDRS"
|
||||
#endif
|
||||
|
||||
/* this is for OS/2 under EMX. This won't work with DOS */
|
||||
#if defined(__EMX__)
|
||||
#define imake_ccflags "-DBSD43"
|
||||
#endif
|
||||
|
||||
#else /* not CCIMAKE */
|
||||
#ifndef MAKEDEPEND
|
||||
/*
|
||||
* Step 2: dup2
|
||||
* If your OS doesn't have a dup2() system call to duplicate one file
|
||||
* descriptor onto another, define such a mechanism here (if you don't
|
||||
* already fall under the existing category(ies).
|
||||
*/
|
||||
#if defined(SYSV) && !defined(_CRAY) && !defined(Mips) && !defined(_SEQUENT_)
|
||||
#define dup2(fd1,fd2) ((fd1 == fd2) ? fd1 : (close(fd2), \
|
||||
fcntl(fd1, F_DUPFD, fd2)))
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Step 3: FIXUP_CPP_WHITESPACE
|
||||
* If your cpp collapses tabs macro expansions into a single space and
|
||||
* replaces escaped newlines with a space, define this symbol. This will
|
||||
* cause imake to attempt to patch up the generated Makefile by looking
|
||||
* for lines that have colons in them (this is why the rules file escapes
|
||||
* all colons). One way to tell if you need this is to see whether or not
|
||||
* your Makefiles have no tabs in them and lots of @@ strings.
|
||||
*/
|
||||
#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || (defined(AMOEBA) && defined(CROSS_COMPILE))
|
||||
#define FIXUP_CPP_WHITESPACE
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
#define REMOVE_CPP_LEADSPACE
|
||||
#define INLINE_SYNTAX
|
||||
#define MAGIC_MAKE_VARS
|
||||
#endif
|
||||
#ifdef __minix_vmd
|
||||
#define FIXUP_CPP_WHITESPACE
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Step 4: USE_CC_E, DEFAULT_CC, DEFAULT_CPP
|
||||
* If you want to use cc -E instead of cpp, define USE_CC_E.
|
||||
* If use cc -E but want a different compiler, define DEFAULT_CC.
|
||||
* If the cpp you need is not in /lib/cpp, define DEFAULT_CPP.
|
||||
*/
|
||||
#ifdef hpux
|
||||
#define USE_CC_E
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
#define USE_CC_E
|
||||
#define DEFAULT_CC "cl"
|
||||
#endif
|
||||
#ifdef apollo
|
||||
#define DEFAULT_CPP "/usr/lib/cpp"
|
||||
#endif
|
||||
#if defined(_IBMR2) && !defined(DEFAULT_CPP)
|
||||
#define DEFAULT_CPP "/usr/lpp/X11/Xamples/util/cpp/cpp"
|
||||
#endif
|
||||
#if defined(sun) && defined(SVR4)
|
||||
#define DEFAULT_CPP "/usr/ccs/lib/cpp"
|
||||
#endif
|
||||
#ifdef __bsdi__
|
||||
#define DEFAULT_CPP "/usr/bin/cpp"
|
||||
#endif
|
||||
#ifdef __uxp__
|
||||
#define DEFAULT_CPP "/usr/ccs/lib/cpp"
|
||||
#endif
|
||||
#ifdef __sxg__
|
||||
#define DEFAULT_CPP "/usr/lib/cpp"
|
||||
#endif
|
||||
#ifdef _CRAY
|
||||
#define DEFAULT_CPP "/lib/pcpp"
|
||||
#endif
|
||||
#if defined(__386BSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
|
||||
#define DEFAULT_CPP "/usr/libexec/cpp"
|
||||
#endif
|
||||
#ifdef MACH
|
||||
#define USE_CC_E
|
||||
#endif
|
||||
#ifdef __minix_vmd
|
||||
#define DEFAULT_CPP "/usr/lib/cpp"
|
||||
#endif
|
||||
#if defined(__EMX__)
|
||||
/* expects cpp in PATH */
|
||||
#define DEFAULT_CPP "cpp"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Step 5: cpp_argv
|
||||
* The following table contains the flags that should be passed
|
||||
* whenever a Makefile is being generated. If your preprocessor
|
||||
* doesn't predefine any unique symbols, choose one and add it to the
|
||||
* end of this table. Then, do the following:
|
||||
*
|
||||
* a. Use this symbol in Imake.tmpl when setting MacroFile.
|
||||
* b. Put this symbol in the definition of BootstrapCFlags in your
|
||||
* <platform>.cf file.
|
||||
* c. When doing a make World, always add "BOOTSTRAPCFLAGS=-Dsymbol"
|
||||
* to the end of the command line.
|
||||
*
|
||||
* Note that you may define more than one symbol (useful for platforms
|
||||
* that support multiple operating systems).
|
||||
*/
|
||||
|
||||
#define ARGUMENTS 50 /* number of arguments in various arrays */
|
||||
char *cpp_argv[ARGUMENTS] = {
|
||||
"cc", /* replaced by the actual program to exec */
|
||||
"-I.", /* add current directory to include path */
|
||||
#ifdef unix
|
||||
"-Uunix", /* remove unix symbol so that filename unix.c okay */
|
||||
#endif
|
||||
#if defined(__386BSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(MACH)
|
||||
# ifdef __i386__
|
||||
"-D__i386__",
|
||||
# endif
|
||||
# ifdef __GNUC__
|
||||
"-traditional",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef M4330
|
||||
"-DM4330", /* Tektronix */
|
||||
#endif
|
||||
#ifdef M4310
|
||||
"-DM4310", /* Tektronix */
|
||||
#endif
|
||||
#if defined(macII) || defined(_AUX_SOURCE)
|
||||
"-DmacII", /* Apple A/UX */
|
||||
#endif
|
||||
#ifdef USL
|
||||
"-DUSL", /* USL */
|
||||
#endif
|
||||
#ifdef sony
|
||||
"-Dsony", /* Sony */
|
||||
#if !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV) && NEWSOS < 42
|
||||
"-Dbsd43",
|
||||
#endif
|
||||
#endif
|
||||
#ifdef _IBMR2
|
||||
"-D_IBMR2", /* IBM RS-6000 (we ensured that aix is defined above */
|
||||
#ifndef aix
|
||||
#define aix /* allow BOOTSTRAPCFLAGS="-D_IBMR2" */
|
||||
#endif
|
||||
#endif /* _IBMR2 */
|
||||
#ifdef aix
|
||||
"-Daix", /* AIX instead of AOS */
|
||||
#ifndef ibm
|
||||
#define ibm /* allow BOOTSTRAPCFLAGS="-Daix" */
|
||||
#endif
|
||||
#endif /* aix */
|
||||
#ifdef ibm
|
||||
"-Dibm", /* IBM PS/2 and RT under both AOS and AIX */
|
||||
#endif
|
||||
#ifdef luna
|
||||
"-Dluna", /* OMRON luna 68K and 88K */
|
||||
#ifdef luna1
|
||||
"-Dluna1",
|
||||
#endif
|
||||
#ifdef luna88k /* need not on UniOS-Mach Vers. 1.13 */
|
||||
"-traditional", /* for some older version */
|
||||
#endif /* instead of "-DXCOMM=\\#" */
|
||||
#ifdef uniosb
|
||||
"-Duniosb",
|
||||
#endif
|
||||
#ifdef uniosu
|
||||
"-Duniosu",
|
||||
#endif
|
||||
#endif /* luna */
|
||||
#ifdef _CRAY /* Cray */
|
||||
"-Ucray",
|
||||
#endif
|
||||
#ifdef Mips
|
||||
"-DMips", /* Define and use Mips for Mips Co. OS/mach. */
|
||||
# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
|
||||
"-DBSD43", /* Mips RISCOS supports two environments */
|
||||
# else
|
||||
"-DSYSV", /* System V environment is the default */
|
||||
# endif
|
||||
#endif /* Mips */
|
||||
#ifdef MOTOROLA
|
||||
"-DMOTOROLA", /* Motorola Delta Systems */
|
||||
# ifdef SYSV
|
||||
"-DSYSV",
|
||||
# endif
|
||||
# ifdef SVR4
|
||||
"-DSVR4",
|
||||
# endif
|
||||
#endif /* MOTOROLA */
|
||||
#ifdef i386
|
||||
"-Di386",
|
||||
# ifdef SVR4
|
||||
"-DSVR4",
|
||||
# endif
|
||||
# ifdef SYSV
|
||||
"-DSYSV",
|
||||
# ifdef ISC
|
||||
"-DISC",
|
||||
# ifdef ISC40
|
||||
"-DISC40", /* ISC 4.0 */
|
||||
# else
|
||||
# ifdef ISC202
|
||||
"-DISC202", /* ISC 2.0.2 */
|
||||
# else
|
||||
# ifdef ISC30
|
||||
"-DISC30", /* ISC 3.0 */
|
||||
# else
|
||||
"-DISC22", /* ISC 2.2.1 */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# ifdef SCO
|
||||
"-DSCO",
|
||||
# ifdef SCO324
|
||||
"-DSCO324",
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# ifdef ESIX
|
||||
"-DESIX",
|
||||
# endif
|
||||
# ifdef ATT
|
||||
"-DATT",
|
||||
# endif
|
||||
# ifdef DELL
|
||||
"-DDELL",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef SYSV386 /* System V/386 folks, obsolete */
|
||||
"-Di386",
|
||||
# ifdef SVR4
|
||||
"-DSVR4",
|
||||
# endif
|
||||
# ifdef ISC
|
||||
"-DISC",
|
||||
# ifdef ISC40
|
||||
"-DISC40", /* ISC 4.0 */
|
||||
# else
|
||||
# ifdef ISC202
|
||||
"-DISC202", /* ISC 2.0.2 */
|
||||
# else
|
||||
# ifdef ISC30
|
||||
"-DISC30", /* ISC 3.0 */
|
||||
# else
|
||||
"-DISC22", /* ISC 2.2.1 */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# ifdef SCO
|
||||
"-DSCO",
|
||||
# ifdef SCO324
|
||||
"-DSCO324",
|
||||
# endif
|
||||
# endif
|
||||
# ifdef ESIX
|
||||
"-DESIX",
|
||||
# endif
|
||||
# ifdef ATT
|
||||
"-DATT",
|
||||
# endif
|
||||
# ifdef DELL
|
||||
"-DDELL",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __osf__
|
||||
"-D__osf__",
|
||||
# ifdef __mips__
|
||||
"-D__mips__",
|
||||
# endif
|
||||
# ifdef __alpha
|
||||
"-D__alpha",
|
||||
# endif
|
||||
# ifdef __i386__
|
||||
"-D__i386__",
|
||||
# endif
|
||||
# ifdef __GNUC__
|
||||
"-traditional",
|
||||
# endif
|
||||
#endif
|
||||
#ifdef Oki
|
||||
"-DOki",
|
||||
#endif
|
||||
#ifdef sun
|
||||
#ifdef SVR4
|
||||
"-DSVR4",
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
"-DWIN32",
|
||||
"-nologo",
|
||||
"-batch",
|
||||
"-D__STDC__",
|
||||
#endif
|
||||
#ifdef NCR
|
||||
"-DNCR", /* NCR */
|
||||
#endif
|
||||
#ifdef linux
|
||||
"-traditional",
|
||||
"-Dlinux",
|
||||
#endif
|
||||
#ifdef __uxp__
|
||||
"-D__uxp__",
|
||||
#endif
|
||||
#ifdef __sxg__
|
||||
"-D__sxg__",
|
||||
#endif
|
||||
#ifdef nec_ews_svr2
|
||||
"-Dnec_ews_svr2",
|
||||
#endif
|
||||
#ifdef AMOEBA
|
||||
"-DAMOEBA",
|
||||
# ifdef CROSS_COMPILE
|
||||
"-DCROSS_COMPILE",
|
||||
# ifdef CROSS_i80386
|
||||
"-Di80386",
|
||||
# endif
|
||||
# ifdef CROSS_sparc
|
||||
"-Dsparc",
|
||||
# endif
|
||||
# ifdef CROSS_mc68000
|
||||
"-Dmc68000",
|
||||
# endif
|
||||
# else
|
||||
# ifdef i80386
|
||||
"-Di80386",
|
||||
# endif
|
||||
# ifdef sparc
|
||||
"-Dsparc",
|
||||
# endif
|
||||
# ifdef mc68000
|
||||
"-Dmc68000",
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __minix_vmd
|
||||
"-Dminix",
|
||||
#endif
|
||||
|
||||
#if defined(__EMX__)
|
||||
"-traditional",
|
||||
"-Demxos2",
|
||||
#endif
|
||||
|
||||
};
|
||||
#else /* else MAKEDEPEND */
|
||||
/*
|
||||
* Step 6: predefs
|
||||
* If your compiler and/or preprocessor define any specific symbols, add
|
||||
* them to the the following table. The definition of struct symtab is
|
||||
* in util/makedepend/def.h.
|
||||
*/
|
||||
struct symtab predefs[] = {
|
||||
#ifdef apollo
|
||||
{"apollo", "1"},
|
||||
#endif
|
||||
#ifdef ibm032
|
||||
{"ibm032", "1"},
|
||||
#endif
|
||||
#ifdef ibm
|
||||
{"ibm", "1"},
|
||||
#endif
|
||||
#ifdef aix
|
||||
{"aix", "1"},
|
||||
#endif
|
||||
#ifdef sun
|
||||
{"sun", "1"},
|
||||
#endif
|
||||
#ifdef sun2
|
||||
{"sun2", "1"},
|
||||
#endif
|
||||
#ifdef sun3
|
||||
{"sun3", "1"},
|
||||
#endif
|
||||
#ifdef sun4
|
||||
{"sun4", "1"},
|
||||
#endif
|
||||
#ifdef sparc
|
||||
{"sparc", "1"},
|
||||
#endif
|
||||
#ifdef __sparc__
|
||||
{"__sparc__", "1"},
|
||||
#endif
|
||||
#ifdef hpux
|
||||
{"hpux", "1"},
|
||||
#endif
|
||||
#ifdef __hpux
|
||||
{"__hpux", "1"},
|
||||
#endif
|
||||
#ifdef __hp9000s800
|
||||
{"__hp9000s800", "1"},
|
||||
#endif
|
||||
#ifdef __hp9000s700
|
||||
{"__hp9000s700", "1"},
|
||||
#endif
|
||||
#ifdef vax
|
||||
{"vax", "1"},
|
||||
#endif
|
||||
#ifdef VMS
|
||||
{"VMS", "1"},
|
||||
#endif
|
||||
#ifdef cray
|
||||
{"cray", "1"},
|
||||
#endif
|
||||
#ifdef CRAY
|
||||
{"CRAY", "1"},
|
||||
#endif
|
||||
#ifdef _CRAY
|
||||
{"_CRAY", "1"},
|
||||
#endif
|
||||
#ifdef att
|
||||
{"att", "1"},
|
||||
#endif
|
||||
#ifdef mips
|
||||
{"mips", "1"},
|
||||
#endif
|
||||
#ifdef __mips__
|
||||
{"__mips__", "1"},
|
||||
#endif
|
||||
#ifdef ultrix
|
||||
{"ultrix", "1"},
|
||||
#endif
|
||||
#ifdef stellar
|
||||
{"stellar", "1"},
|
||||
#endif
|
||||
#ifdef mc68000
|
||||
{"mc68000", "1"},
|
||||
#endif
|
||||
#ifdef mc68020
|
||||
{"mc68020", "1"},
|
||||
#endif
|
||||
#ifdef __GNUC__
|
||||
{"__GNUC__", "1"},
|
||||
#endif
|
||||
#if __STDC__
|
||||
{"__STDC__", "1"},
|
||||
#endif
|
||||
#ifdef __HIGHC__
|
||||
{"__HIGHC__", "1"},
|
||||
#endif
|
||||
#ifdef CMU
|
||||
{"CMU", "1"},
|
||||
#endif
|
||||
#ifdef luna
|
||||
{"luna", "1"},
|
||||
#ifdef luna1
|
||||
{"luna1", "1"},
|
||||
#endif
|
||||
#ifdef luna2
|
||||
{"luna2", "1"},
|
||||
#endif
|
||||
#ifdef luna88k
|
||||
{"luna88k", "1"},
|
||||
#endif
|
||||
#ifdef uniosb
|
||||
{"uniosb", "1"},
|
||||
#endif
|
||||
#ifdef uniosu
|
||||
{"uniosu", "1"},
|
||||
#endif
|
||||
#endif
|
||||
#ifdef ieeep754
|
||||
{"ieeep754", "1"},
|
||||
#endif
|
||||
#ifdef is68k
|
||||
{"is68k", "1"},
|
||||
#endif
|
||||
#ifdef m68k
|
||||
{"m68k", "1"},
|
||||
#endif
|
||||
#ifdef m88k
|
||||
{"m88k", "1"},
|
||||
#endif
|
||||
#ifdef __m88k__
|
||||
{"__m88k__", "1"},
|
||||
#endif
|
||||
#ifdef bsd43
|
||||
{"bsd43", "1"},
|
||||
#endif
|
||||
#ifdef hcx
|
||||
{"hcx", "1"},
|
||||
#endif
|
||||
#ifdef sony
|
||||
{"sony", "1"},
|
||||
#ifdef SYSTYPE_SYSV
|
||||
{"SYSTYPE_SYSV", "1"},
|
||||
#endif
|
||||
#ifdef _SYSTYPE_SYSV
|
||||
{"_SYSTYPE_SYSV", "1"},
|
||||
#endif
|
||||
#endif
|
||||
#ifdef __OSF__
|
||||
{"__OSF__", "1"},
|
||||
#endif
|
||||
#ifdef __osf__
|
||||
{"__osf__", "1"},
|
||||
#endif
|
||||
#ifdef __alpha
|
||||
{"__alpha", "1"},
|
||||
#endif
|
||||
#ifdef __DECC
|
||||
{"__DECC", "1"},
|
||||
#endif
|
||||
#ifdef __decc
|
||||
{"__decc", "1"},
|
||||
#endif
|
||||
#ifdef __uxp__
|
||||
{"__uxp__", "1"},
|
||||
#endif
|
||||
#ifdef __sxg__
|
||||
{"__sxg__", "1"},
|
||||
#endif
|
||||
#ifdef _SEQUENT_
|
||||
{"_SEQUENT_", "1"},
|
||||
{"__STDC__", "1"},
|
||||
#endif
|
||||
#ifdef __bsdi__
|
||||
{"__bsdi__", "1"},
|
||||
#endif
|
||||
#ifdef nec_ews_svr2
|
||||
{"nec_ews_svr2", "1"},
|
||||
#endif
|
||||
#ifdef nec_ews_svr4
|
||||
{"nec_ews_svr4", "1"},
|
||||
#endif
|
||||
#ifdef _nec_ews_svr4
|
||||
{"_nec_ews_svr4", "1"},
|
||||
#endif
|
||||
#ifdef _nec_up
|
||||
{"_nec_up", "1"},
|
||||
#endif
|
||||
#ifdef SX
|
||||
{"SX", "1"},
|
||||
#endif
|
||||
#ifdef nec
|
||||
{"nec", "1"},
|
||||
#endif
|
||||
#ifdef _nec_ft
|
||||
{"_nec_ft", "1"},
|
||||
#endif
|
||||
#ifdef PC_UX
|
||||
{"PC_UX", "1"},
|
||||
#endif
|
||||
#ifdef sgi
|
||||
{"sgi", "1"},
|
||||
#endif
|
||||
#ifdef __sgi
|
||||
{"__sgi", "1"},
|
||||
#endif
|
||||
#ifdef __FreeBSD__
|
||||
{"__FreeBSD__", "1"},
|
||||
#endif
|
||||
#ifdef __NetBSD__
|
||||
{"__NetBSD__", "1"},
|
||||
#endif
|
||||
#ifdef __OpenBSD__
|
||||
{"__OpenBSD__", "1"},
|
||||
#endif
|
||||
#ifdef __EMX__
|
||||
{"__EMX__", "1"},
|
||||
#endif
|
||||
/* add any additional symbols before this line */
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
#endif /* MAKEDEPEND */
|
||||
#endif /* CCIMAKE */
|
||||
308
mozilla/security/coreconf/mkdepend/include.c
Normal file
308
mozilla/security/coreconf/mkdepend/include.c
Normal file
@@ -0,0 +1,308 @@
|
||||
/* $XConsortium: include.c,v 1.17 94/12/05 19:33:08 gildea Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
#include "def.h"
|
||||
|
||||
extern struct inclist inclist[ MAXFILES ],
|
||||
*inclistp;
|
||||
extern char *includedirs[ ];
|
||||
extern char *notdotdot[ ];
|
||||
extern boolean show_where_not;
|
||||
extern boolean warn_multiple;
|
||||
|
||||
struct inclist *inc_path(file, include, dot)
|
||||
register char *file,
|
||||
*include;
|
||||
boolean dot;
|
||||
{
|
||||
static char path[ BUFSIZ ];
|
||||
register char **pp, *p;
|
||||
register struct inclist *ip;
|
||||
struct stat st;
|
||||
boolean found = FALSE;
|
||||
|
||||
/*
|
||||
* Check all previously found include files for a path that
|
||||
* has already been expanded.
|
||||
*/
|
||||
for (ip = inclist; ip->i_file; ip++)
|
||||
if ((strcmp(ip->i_incstring, include) == 0) && !ip->i_included_sym)
|
||||
{
|
||||
found = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* If the path was surrounded by "" or is an absolute path,
|
||||
* then check the exact path provided.
|
||||
*/
|
||||
if (!found && (dot || *include == '/')) {
|
||||
if (stat(include, &st) == 0) {
|
||||
ip = newinclude(include, include);
|
||||
found = TRUE;
|
||||
}
|
||||
else if (show_where_not)
|
||||
warning1("\tnot in %s\n", include);
|
||||
}
|
||||
|
||||
/*
|
||||
* See if this include file is in the directory of the
|
||||
* file being compiled.
|
||||
*/
|
||||
if (!found) {
|
||||
for (p=file+strlen(file); p>file; p--)
|
||||
if (*p == '/')
|
||||
break;
|
||||
if (p == file)
|
||||
strcpy(path, include);
|
||||
else {
|
||||
strncpy(path, file, (p-file) + 1);
|
||||
path[ (p-file) + 1 ] = '\0';
|
||||
strcpy(path + (p-file) + 1, include);
|
||||
}
|
||||
remove_dotdot(path);
|
||||
if (stat(path, &st) == 0) {
|
||||
ip = newinclude(path, include);
|
||||
found = TRUE;
|
||||
}
|
||||
else if (show_where_not)
|
||||
warning1("\tnot in %s\n", path);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check the include directories specified. (standard include dir
|
||||
* should be at the end.)
|
||||
*/
|
||||
if (!found)
|
||||
for (pp = includedirs; *pp; pp++) {
|
||||
sprintf(path, "%s/%s", *pp, include);
|
||||
remove_dotdot(path);
|
||||
if (stat(path, &st) == 0) {
|
||||
ip = newinclude(path, include);
|
||||
found = TRUE;
|
||||
break;
|
||||
}
|
||||
else if (show_where_not)
|
||||
warning1("\tnot in %s\n", path);
|
||||
}
|
||||
|
||||
if (!found)
|
||||
ip = NULL;
|
||||
return(ip);
|
||||
}
|
||||
|
||||
/*
|
||||
* Occasionally, pathnames are created that look like .../x/../y
|
||||
* Any of the 'x/..' sequences within the name can be eliminated.
|
||||
* (but only if 'x' is not a symbolic link!!)
|
||||
*/
|
||||
remove_dotdot(path)
|
||||
char *path;
|
||||
{
|
||||
register char *end, *from, *to, **cp;
|
||||
char *components[ MAXFILES ],
|
||||
newpath[ BUFSIZ ];
|
||||
boolean component_copied;
|
||||
|
||||
/*
|
||||
* slice path up into components.
|
||||
*/
|
||||
to = newpath;
|
||||
if (*path == '/')
|
||||
*to++ = '/';
|
||||
*to = '\0';
|
||||
cp = components;
|
||||
for (from=end=path; *end; end++)
|
||||
if (*end == '/') {
|
||||
while (*end == '/')
|
||||
*end++ = '\0';
|
||||
if (*from)
|
||||
*cp++ = from;
|
||||
from = end;
|
||||
}
|
||||
*cp++ = from;
|
||||
*cp = NULL;
|
||||
|
||||
/*
|
||||
* Recursively remove all 'x/..' component pairs.
|
||||
*/
|
||||
cp = components;
|
||||
while(*cp) {
|
||||
if (!isdot(*cp) && !isdotdot(*cp) && isdotdot(*(cp+1))
|
||||
&& !issymbolic(newpath, *cp))
|
||||
{
|
||||
char **fp = cp + 2;
|
||||
char **tp = cp;
|
||||
|
||||
do
|
||||
*tp++ = *fp; /* move all the pointers down */
|
||||
while (*fp++);
|
||||
if (cp != components)
|
||||
cp--; /* go back and check for nested ".." */
|
||||
} else {
|
||||
cp++;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Concatenate the remaining path elements.
|
||||
*/
|
||||
cp = components;
|
||||
component_copied = FALSE;
|
||||
while(*cp) {
|
||||
if (component_copied)
|
||||
*to++ = '/';
|
||||
component_copied = TRUE;
|
||||
for (from = *cp; *from; )
|
||||
*to++ = *from++;
|
||||
*to = '\0';
|
||||
cp++;
|
||||
}
|
||||
*to++ = '\0';
|
||||
|
||||
/*
|
||||
* copy the reconstituted path back to our pointer.
|
||||
*/
|
||||
strcpy(path, newpath);
|
||||
}
|
||||
|
||||
isdot(p)
|
||||
register char *p;
|
||||
{
|
||||
if(p && *p++ == '.' && *p++ == '\0')
|
||||
return(TRUE);
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
isdotdot(p)
|
||||
register char *p;
|
||||
{
|
||||
if(p && *p++ == '.' && *p++ == '.' && *p++ == '\0')
|
||||
return(TRUE);
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
issymbolic(dir, component)
|
||||
register char *dir, *component;
|
||||
{
|
||||
#ifdef S_IFLNK
|
||||
struct stat st;
|
||||
char buf[ BUFSIZ ], **pp;
|
||||
|
||||
sprintf(buf, "%s%s%s", dir, *dir ? "/" : "", component);
|
||||
for (pp=notdotdot; *pp; pp++)
|
||||
if (strcmp(*pp, buf) == 0)
|
||||
return (TRUE);
|
||||
if (lstat(buf, &st) == 0
|
||||
&& (st.st_mode & S_IFMT) == S_IFLNK) {
|
||||
*pp++ = copy(buf);
|
||||
if (pp >= ¬dotdot[ MAXDIRS ])
|
||||
fatalerr("out of .. dirs, increase MAXDIRS\n");
|
||||
return(TRUE);
|
||||
}
|
||||
#endif
|
||||
return(FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add an include file to the list of those included by 'file'.
|
||||
*/
|
||||
struct inclist *newinclude(newfile, incstring)
|
||||
register char *newfile, *incstring;
|
||||
{
|
||||
register struct inclist *ip;
|
||||
|
||||
/*
|
||||
* First, put this file on the global list of include files.
|
||||
*/
|
||||
ip = inclistp++;
|
||||
if (inclistp == inclist + MAXFILES - 1)
|
||||
fatalerr("out of space: increase MAXFILES\n");
|
||||
ip->i_file = copy(newfile);
|
||||
ip->i_included_sym = FALSE;
|
||||
if (incstring == NULL)
|
||||
ip->i_incstring = ip->i_file;
|
||||
else
|
||||
ip->i_incstring = copy(incstring);
|
||||
|
||||
return(ip);
|
||||
}
|
||||
|
||||
included_by(ip, newfile)
|
||||
register struct inclist *ip, *newfile;
|
||||
{
|
||||
register i;
|
||||
|
||||
if (ip == NULL)
|
||||
return;
|
||||
/*
|
||||
* Put this include file (newfile) on the list of files included
|
||||
* by 'file'. If 'file' is NULL, then it is not an include
|
||||
* file itself (i.e. was probably mentioned on the command line).
|
||||
* If it is already on the list, don't stick it on again.
|
||||
*/
|
||||
if (ip->i_list == NULL)
|
||||
ip->i_list = (struct inclist **)
|
||||
malloc(sizeof(struct inclist *) * ++ip->i_listlen);
|
||||
else {
|
||||
for (i=0; i<ip->i_listlen; i++)
|
||||
if (ip->i_list[ i ] == newfile) {
|
||||
i = strlen(newfile->i_file);
|
||||
if (!ip->i_included_sym &&
|
||||
!(i > 2 &&
|
||||
newfile->i_file[i-1] == 'c' &&
|
||||
newfile->i_file[i-2] == '.'))
|
||||
{
|
||||
/* only complain if ip has */
|
||||
/* no #include SYMBOL lines */
|
||||
/* and is not a .c file */
|
||||
if (warn_multiple)
|
||||
{
|
||||
warning("%s includes %s more than once!\n",
|
||||
ip->i_file, newfile->i_file);
|
||||
warning1("Already have\n");
|
||||
for (i=0; i<ip->i_listlen; i++)
|
||||
warning1("\t%s\n", ip->i_list[i]->i_file);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
ip->i_list = (struct inclist **) realloc(ip->i_list,
|
||||
sizeof(struct inclist *) * ++ip->i_listlen);
|
||||
}
|
||||
ip->i_list[ ip->i_listlen-1 ] = newfile;
|
||||
}
|
||||
|
||||
inc_clean ()
|
||||
{
|
||||
register struct inclist *ip;
|
||||
|
||||
for (ip = inclist; ip < inclistp; ip++) {
|
||||
ip->i_marked = FALSE;
|
||||
}
|
||||
}
|
||||
710
mozilla/security/coreconf/mkdepend/main.c
Normal file
710
mozilla/security/coreconf/mkdepend/main.c
Normal file
@@ -0,0 +1,710 @@
|
||||
/* $XConsortium: main.c,v 1.84 94/11/30 16:10:44 kaleb Exp $ */
|
||||
/* $XFree86: xc/config/makedepend/main.c,v 3.4 1995/07/15 14:53:49 dawes Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
#ifdef hpux
|
||||
#define sigvec sigvector
|
||||
#endif /* hpux */
|
||||
|
||||
#ifdef X_POSIX_C_SOURCE
|
||||
#define _POSIX_C_SOURCE X_POSIX_C_SOURCE
|
||||
#include <signal.h>
|
||||
#undef _POSIX_C_SOURCE
|
||||
#else
|
||||
#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)
|
||||
#include <signal.h>
|
||||
#else
|
||||
#define _POSIX_SOURCE
|
||||
#include <signal.h>
|
||||
#undef _POSIX_SOURCE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if NeedVarargsPrototypes
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#ifdef MINIX
|
||||
#define USE_CHMOD 1
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
int _debugmask;
|
||||
#endif
|
||||
|
||||
char *ProgramName;
|
||||
|
||||
char *directives[] = {
|
||||
"if",
|
||||
"ifdef",
|
||||
"ifndef",
|
||||
"else",
|
||||
"endif",
|
||||
"define",
|
||||
"undef",
|
||||
"include",
|
||||
"line",
|
||||
"pragma",
|
||||
"error",
|
||||
"ident",
|
||||
"sccs",
|
||||
"elif",
|
||||
"eject",
|
||||
NULL
|
||||
};
|
||||
|
||||
#define MAKEDEPEND
|
||||
#include "imakemdep.h" /* from config sources */
|
||||
#undef MAKEDEPEND
|
||||
|
||||
struct inclist inclist[ MAXFILES ],
|
||||
*inclistp = inclist,
|
||||
maininclist;
|
||||
|
||||
char *filelist[ MAXFILES ];
|
||||
char *includedirs[ MAXDIRS + 1 ];
|
||||
char *notdotdot[ MAXDIRS ];
|
||||
char *objprefix = "";
|
||||
char *objsuffix = OBJSUFFIX;
|
||||
char *startat = "# DO NOT DELETE";
|
||||
int width = 78;
|
||||
boolean append = FALSE;
|
||||
boolean printed = FALSE;
|
||||
boolean verbose = FALSE;
|
||||
boolean show_where_not = FALSE;
|
||||
boolean warn_multiple = FALSE; /* Warn on multiple includes of same file */
|
||||
|
||||
static
|
||||
#ifdef SIGNALRETURNSINT
|
||||
int
|
||||
#else
|
||||
void
|
||||
#endif
|
||||
catch (sig)
|
||||
int sig;
|
||||
{
|
||||
fflush (stdout);
|
||||
fatalerr ("got signal %d\n", sig);
|
||||
}
|
||||
|
||||
#if defined(USG) || (defined(i386) && defined(SYSV)) || defined(WIN32) || defined(__EMX__) || defined(Lynx_22)
|
||||
#define USGISH
|
||||
#endif
|
||||
|
||||
#ifndef USGISH
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define sigaction sigvec
|
||||
#define sa_handler sv_handler
|
||||
#define sa_mask sv_mask
|
||||
#define sa_flags sv_flags
|
||||
#endif
|
||||
struct sigaction sig_act;
|
||||
#endif /* USGISH */
|
||||
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
register char **fp = filelist;
|
||||
register char **incp = includedirs;
|
||||
register char *p;
|
||||
register struct inclist *ip;
|
||||
char *makefile = NULL;
|
||||
struct filepointer *filecontent;
|
||||
struct symtab *psymp = predefs;
|
||||
char *endmarker = NULL;
|
||||
char *defincdir = NULL;
|
||||
|
||||
ProgramName = argv[0];
|
||||
|
||||
while (psymp->s_name)
|
||||
{
|
||||
define2(psymp->s_name, psymp->s_value, &maininclist);
|
||||
psymp++;
|
||||
}
|
||||
if (argc == 2 && argv[1][0] == '@') {
|
||||
struct stat ast;
|
||||
int afd;
|
||||
char *args;
|
||||
char **nargv;
|
||||
int nargc;
|
||||
char quotechar = '\0';
|
||||
|
||||
nargc = 1;
|
||||
if ((afd = open(argv[1]+1, O_RDONLY)) < 0)
|
||||
fatalerr("cannot open \"%s\"\n", argv[1]+1);
|
||||
fstat(afd, &ast);
|
||||
args = (char *)malloc(ast.st_size + 1);
|
||||
if ((ast.st_size = read(afd, args, ast.st_size)) < 0)
|
||||
fatalerr("failed to read %s\n", argv[1]+1);
|
||||
args[ast.st_size] = '\0';
|
||||
close(afd);
|
||||
for (p = args; *p; p++) {
|
||||
if (quotechar) {
|
||||
if (quotechar == '\\' ||
|
||||
(*p == quotechar && p[-1] != '\\'))
|
||||
quotechar = '\0';
|
||||
continue;
|
||||
}
|
||||
switch (*p) {
|
||||
case '\\':
|
||||
case '"':
|
||||
case '\'':
|
||||
quotechar = *p;
|
||||
break;
|
||||
case ' ':
|
||||
case '\n':
|
||||
*p = '\0';
|
||||
if (p > args && p[-1])
|
||||
nargc++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (p[-1])
|
||||
nargc++;
|
||||
nargv = (char **)malloc(nargc * sizeof(char *));
|
||||
nargv[0] = argv[0];
|
||||
argc = 1;
|
||||
for (p = args; argc < nargc; p += strlen(p) + 1)
|
||||
if (*p) nargv[argc++] = p;
|
||||
argv = nargv;
|
||||
}
|
||||
for(argc--, argv++; argc; argc--, argv++) {
|
||||
/* if looking for endmarker then check before parsing */
|
||||
if (endmarker && strcmp (endmarker, *argv) == 0) {
|
||||
endmarker = NULL;
|
||||
continue;
|
||||
}
|
||||
if (**argv != '-') {
|
||||
/* treat +thing as an option for C++ */
|
||||
if (endmarker && **argv == '+')
|
||||
continue;
|
||||
*fp++ = argv[0];
|
||||
continue;
|
||||
}
|
||||
switch(argv[0][1]) {
|
||||
case '-':
|
||||
endmarker = &argv[0][2];
|
||||
if (endmarker[0] == '\0') endmarker = "--";
|
||||
break;
|
||||
case 'D':
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
}
|
||||
for (p=argv[0] + 2; *p ; p++)
|
||||
if (*p == '=') {
|
||||
*p = ' ';
|
||||
break;
|
||||
}
|
||||
define(argv[0] + 2, &maininclist);
|
||||
break;
|
||||
case 'I':
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = argv[0]+2;
|
||||
if (**(incp-1) == '\0') {
|
||||
*(incp-1) = *(++argv);
|
||||
argc--;
|
||||
}
|
||||
break;
|
||||
case 'Y':
|
||||
defincdir = argv[0]+2;
|
||||
break;
|
||||
/* do not use if endmarker processing */
|
||||
case 'a':
|
||||
if (endmarker) break;
|
||||
append = TRUE;
|
||||
break;
|
||||
case 'w':
|
||||
if (endmarker) break;
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
width = atoi(argv[0]);
|
||||
} else
|
||||
width = atoi(argv[0]+2);
|
||||
break;
|
||||
case 'o':
|
||||
if (endmarker) break;
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
objsuffix = argv[0];
|
||||
} else
|
||||
objsuffix = argv[0]+2;
|
||||
break;
|
||||
case 'p':
|
||||
if (endmarker) break;
|
||||
if (argv[0][2] == '\0') {
|
||||
argv++;
|
||||
argc--;
|
||||
objprefix = argv[0];
|
||||
} else
|
||||
objprefix = argv[0]+2;
|
||||
break;
|
||||
case 'v':
|
||||
if (endmarker) break;
|
||||
verbose = TRUE;
|
||||
#ifdef DEBUG
|
||||
if (argv[0][2])
|
||||
_debugmask = atoi(argv[0]+2);
|
||||
#endif
|
||||
break;
|
||||
case 's':
|
||||
if (endmarker) break;
|
||||
startat = argv[0]+2;
|
||||
if (*startat == '\0') {
|
||||
startat = *(++argv);
|
||||
argc--;
|
||||
}
|
||||
if (*startat != '#')
|
||||
fatalerr("-s flag's value should start %s\n",
|
||||
"with '#'.");
|
||||
break;
|
||||
case 'f':
|
||||
if (endmarker) break;
|
||||
makefile = argv[0]+2;
|
||||
if (*makefile == '\0') {
|
||||
makefile = *(++argv);
|
||||
argc--;
|
||||
}
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
warn_multiple = TRUE;
|
||||
break;
|
||||
|
||||
/* Ignore -O, -g so we can just pass ${CFLAGS} to
|
||||
makedepend
|
||||
*/
|
||||
case 'O':
|
||||
case 'g':
|
||||
break;
|
||||
default:
|
||||
if (endmarker) break;
|
||||
/* fatalerr("unknown opt = %s\n", argv[0]); */
|
||||
warning("ignoring option %s\n", argv[0]);
|
||||
}
|
||||
}
|
||||
if (!defincdir) {
|
||||
#ifdef PREINCDIR
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = PREINCDIR;
|
||||
#endif
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = INCLUDEDIR;
|
||||
#ifdef POSTINCDIR
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = POSTINCDIR;
|
||||
#endif
|
||||
} else if (*defincdir) {
|
||||
if (incp >= includedirs + MAXDIRS)
|
||||
fatalerr("Too many -I flags.\n");
|
||||
*incp++ = defincdir;
|
||||
}
|
||||
|
||||
redirect(startat, makefile);
|
||||
|
||||
/*
|
||||
* catch signals.
|
||||
*/
|
||||
#ifdef USGISH
|
||||
/* should really reset SIGINT to SIG_IGN if it was. */
|
||||
#ifdef SIGHUP
|
||||
signal (SIGHUP, catch);
|
||||
#endif
|
||||
signal (SIGINT, catch);
|
||||
#ifdef SIGQUIT
|
||||
signal (SIGQUIT, catch);
|
||||
#endif
|
||||
signal (SIGILL, catch);
|
||||
#ifdef SIGBUS
|
||||
signal (SIGBUS, catch);
|
||||
#endif
|
||||
signal (SIGSEGV, catch);
|
||||
#ifdef SIGSYS
|
||||
signal (SIGSYS, catch);
|
||||
#endif
|
||||
signal (SIGFPE, catch);
|
||||
#else
|
||||
sig_act.sa_handler = catch;
|
||||
#ifdef _POSIX_SOURCE
|
||||
sigemptyset(&sig_act.sa_mask);
|
||||
sigaddset(&sig_act.sa_mask, SIGINT);
|
||||
sigaddset(&sig_act.sa_mask, SIGQUIT);
|
||||
#ifdef SIGBUS
|
||||
sigaddset(&sig_act.sa_mask, SIGBUS);
|
||||
#endif
|
||||
sigaddset(&sig_act.sa_mask, SIGILL);
|
||||
sigaddset(&sig_act.sa_mask, SIGSEGV);
|
||||
sigaddset(&sig_act.sa_mask, SIGHUP);
|
||||
sigaddset(&sig_act.sa_mask, SIGPIPE);
|
||||
#ifdef SIGSYS
|
||||
sigaddset(&sig_act.sa_mask, SIGSYS);
|
||||
#endif
|
||||
#else
|
||||
sig_act.sa_mask = ((1<<(SIGINT -1))
|
||||
|(1<<(SIGQUIT-1))
|
||||
#ifdef SIGBUS
|
||||
|(1<<(SIGBUS-1))
|
||||
#endif
|
||||
|(1<<(SIGILL-1))
|
||||
|(1<<(SIGSEGV-1))
|
||||
|(1<<(SIGHUP-1))
|
||||
|(1<<(SIGPIPE-1))
|
||||
#ifdef SIGSYS
|
||||
|(1<<(SIGSYS-1))
|
||||
#endif
|
||||
);
|
||||
#endif /* _POSIX_SOURCE */
|
||||
sig_act.sa_flags = 0;
|
||||
sigaction(SIGHUP, &sig_act, (struct sigaction *)0);
|
||||
sigaction(SIGINT, &sig_act, (struct sigaction *)0);
|
||||
sigaction(SIGQUIT, &sig_act, (struct sigaction *)0);
|
||||
sigaction(SIGILL, &sig_act, (struct sigaction *)0);
|
||||
#ifdef SIGBUS
|
||||
sigaction(SIGBUS, &sig_act, (struct sigaction *)0);
|
||||
#endif
|
||||
sigaction(SIGSEGV, &sig_act, (struct sigaction *)0);
|
||||
#ifdef SIGSYS
|
||||
sigaction(SIGSYS, &sig_act, (struct sigaction *)0);
|
||||
#endif
|
||||
#endif /* USGISH */
|
||||
|
||||
/*
|
||||
* now peruse through the list of files.
|
||||
*/
|
||||
for(fp=filelist; *fp; fp++) {
|
||||
filecontent = getfile(*fp);
|
||||
ip = newinclude(*fp, (char *)NULL);
|
||||
|
||||
find_includes(filecontent, ip, ip, 0, FALSE);
|
||||
freefile(filecontent);
|
||||
recursive_pr_include(ip, ip->i_file, base_name(*fp));
|
||||
inc_clean();
|
||||
}
|
||||
if (printed)
|
||||
printf("\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
struct filepointer *getfile(file)
|
||||
char *file;
|
||||
{
|
||||
register int fd;
|
||||
struct filepointer *content;
|
||||
struct stat st;
|
||||
|
||||
content = (struct filepointer *)malloc(sizeof(struct filepointer));
|
||||
if ((fd = open(file, O_RDONLY)) < 0) {
|
||||
warning("cannot open \"%s\"\n", file);
|
||||
content->f_p = content->f_base = content->f_end = (char *)malloc(1);
|
||||
*content->f_p = '\0';
|
||||
return(content);
|
||||
}
|
||||
fstat(fd, &st);
|
||||
content->f_base = (char *)malloc(st.st_size+1);
|
||||
if (content->f_base == NULL)
|
||||
fatalerr("cannot allocate mem\n");
|
||||
if ((st.st_size = read(fd, content->f_base, st.st_size)) < 0)
|
||||
fatalerr("failed to read %s\n", file);
|
||||
close(fd);
|
||||
content->f_len = st.st_size+1;
|
||||
content->f_p = content->f_base;
|
||||
content->f_end = content->f_base + st.st_size;
|
||||
*content->f_end = '\0';
|
||||
content->f_line = 0;
|
||||
return(content);
|
||||
}
|
||||
|
||||
freefile(fp)
|
||||
struct filepointer *fp;
|
||||
{
|
||||
free(fp->f_base);
|
||||
free(fp);
|
||||
}
|
||||
|
||||
char *copy(str)
|
||||
register char *str;
|
||||
{
|
||||
register char *p = (char *)malloc(strlen(str) + 1);
|
||||
|
||||
strcpy(p, str);
|
||||
return(p);
|
||||
}
|
||||
|
||||
match(str, list)
|
||||
register char *str, **list;
|
||||
{
|
||||
register int i;
|
||||
|
||||
for (i=0; *list; i++, list++)
|
||||
if (strcmp(str, *list) == 0)
|
||||
return(i);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the next line. We only return lines beginning with '#' since that
|
||||
* is all this program is ever interested in.
|
||||
*/
|
||||
char *getline(filep)
|
||||
register struct filepointer *filep;
|
||||
{
|
||||
register char *p, /* walking pointer */
|
||||
*eof, /* end of file pointer */
|
||||
*bol; /* beginning of line pointer */
|
||||
register lineno; /* line number */
|
||||
|
||||
p = filep->f_p;
|
||||
eof = filep->f_end;
|
||||
if (p >= eof)
|
||||
return((char *)NULL);
|
||||
lineno = filep->f_line;
|
||||
|
||||
for(bol = p--; ++p < eof; ) {
|
||||
if (*p == '/' && *(p+1) == '*') { /* consume comments */
|
||||
*p++ = ' ', *p++ = ' ';
|
||||
while (*p) {
|
||||
if (*p == '*' && *(p+1) == '/') {
|
||||
*p++ = ' ', *p = ' ';
|
||||
break;
|
||||
}
|
||||
else if (*p == '\n')
|
||||
lineno++;
|
||||
*p++ = ' ';
|
||||
}
|
||||
continue;
|
||||
}
|
||||
#ifdef WIN32
|
||||
else if (*p == '/' && *(p+1) == '/') { /* consume comments */
|
||||
*p++ = ' ', *p++ = ' ';
|
||||
while (*p && *p != '\n')
|
||||
*p++ = ' ';
|
||||
lineno++;
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
else if (*p == '\\') {
|
||||
if (*(p+1) == '\n') {
|
||||
*p = ' ';
|
||||
*(p+1) = ' ';
|
||||
lineno++;
|
||||
}
|
||||
}
|
||||
else if (*p == '\n') {
|
||||
lineno++;
|
||||
if (*bol == '#') {
|
||||
register char *cp;
|
||||
|
||||
*p++ = '\0';
|
||||
/* punt lines with just # (yacc generated) */
|
||||
for (cp = bol+1;
|
||||
*cp && (*cp == ' ' || *cp == '\t'); cp++);
|
||||
if (*cp) goto done;
|
||||
}
|
||||
bol = p+1;
|
||||
}
|
||||
}
|
||||
if (*bol != '#')
|
||||
bol = NULL;
|
||||
done:
|
||||
filep->f_p = p;
|
||||
filep->f_line = lineno;
|
||||
return(bol);
|
||||
}
|
||||
|
||||
/*
|
||||
* Strip the file name down to what we want to see in the Makefile.
|
||||
* It will have objprefix and objsuffix around it.
|
||||
*/
|
||||
char *base_name(file)
|
||||
register char *file;
|
||||
{
|
||||
register char *p;
|
||||
|
||||
file = copy(file);
|
||||
for(p=file+strlen(file); p>file && *p != '.'; p--) ;
|
||||
|
||||
if (*p == '.')
|
||||
*p = '\0';
|
||||
return(file);
|
||||
}
|
||||
|
||||
#if defined(USG) && !defined(CRAY) && !defined(SVR4) && !defined(__EMX__)
|
||||
int rename (from, to)
|
||||
char *from, *to;
|
||||
{
|
||||
(void) unlink (to);
|
||||
if (link (from, to) == 0) {
|
||||
unlink (from);
|
||||
return 0;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
#endif /* USGISH */
|
||||
|
||||
redirect(line, makefile)
|
||||
char *line,
|
||||
*makefile;
|
||||
{
|
||||
struct stat st;
|
||||
FILE *fdin, *fdout;
|
||||
char backup[ BUFSIZ ],
|
||||
buf[ BUFSIZ ];
|
||||
boolean found = FALSE;
|
||||
int len;
|
||||
|
||||
/*
|
||||
* if makefile is "-" then let it pour onto stdout.
|
||||
*/
|
||||
if (makefile && *makefile == '-' && *(makefile+1) == '\0')
|
||||
return;
|
||||
|
||||
/*
|
||||
* use a default makefile is not specified.
|
||||
*/
|
||||
if (!makefile) {
|
||||
if (stat("Makefile", &st) == 0)
|
||||
makefile = "Makefile";
|
||||
else if (stat("makefile", &st) == 0)
|
||||
makefile = "makefile";
|
||||
else
|
||||
fatalerr("[mM]akefile is not present\n");
|
||||
}
|
||||
else
|
||||
stat(makefile, &st);
|
||||
if ((fdin = fopen(makefile, "r")) == NULL)
|
||||
fatalerr("cannot open \"%s\"\n", makefile);
|
||||
sprintf(backup, "%s.bak", makefile);
|
||||
unlink(backup);
|
||||
#if defined(WIN32) || defined(__EMX__)
|
||||
fclose(fdin);
|
||||
#endif
|
||||
if (rename(makefile, backup) < 0)
|
||||
fatalerr("cannot rename %s to %s\n", makefile, backup);
|
||||
#if defined(WIN32) || defined(__EMX__)
|
||||
if ((fdin = fopen(backup, "r")) == NULL)
|
||||
fatalerr("cannot open \"%s\"\n", backup);
|
||||
#endif
|
||||
if ((fdout = freopen(makefile, "w", stdout)) == NULL)
|
||||
fatalerr("cannot open \"%s\"\n", backup);
|
||||
len = strlen(line);
|
||||
while (!found && fgets(buf, BUFSIZ, fdin)) {
|
||||
if (*buf == '#' && strncmp(line, buf, len) == 0)
|
||||
found = TRUE;
|
||||
fputs(buf, fdout);
|
||||
}
|
||||
if (!found) {
|
||||
if (verbose)
|
||||
warning("Adding new delimiting line \"%s\" and dependencies...\n",
|
||||
line);
|
||||
puts(line); /* same as fputs(fdout); but with newline */
|
||||
} else if (append) {
|
||||
while (fgets(buf, BUFSIZ, fdin)) {
|
||||
fputs(buf, fdout);
|
||||
}
|
||||
}
|
||||
fflush(fdout);
|
||||
#if defined(USGISH) || defined(_SEQUENT_) || defined(USE_CHMOD)
|
||||
chmod(makefile, st.st_mode);
|
||||
#else
|
||||
fchmod(fileno(fdout), st.st_mode);
|
||||
#endif /* USGISH */
|
||||
}
|
||||
|
||||
#if NeedVarargsPrototypes
|
||||
fatalerr(char *msg, ...)
|
||||
#else
|
||||
/*VARARGS*/
|
||||
fatalerr(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
|
||||
char *msg;
|
||||
#endif
|
||||
{
|
||||
#if NeedVarargsPrototypes
|
||||
va_list args;
|
||||
#endif
|
||||
fprintf(stderr, "%s: error: ", ProgramName);
|
||||
#if NeedVarargsPrototypes
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
#else
|
||||
fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
|
||||
#endif
|
||||
exit (1);
|
||||
}
|
||||
|
||||
#if NeedVarargsPrototypes
|
||||
warning(char *msg, ...)
|
||||
#else
|
||||
/*VARARGS0*/
|
||||
warning(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
|
||||
char *msg;
|
||||
#endif
|
||||
{
|
||||
#ifdef DEBUG_MKDEPEND
|
||||
#if NeedVarargsPrototypes
|
||||
va_list args;
|
||||
#endif
|
||||
fprintf(stderr, "%s: warning: ", ProgramName);
|
||||
#if NeedVarargsPrototypes
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
#else
|
||||
fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
|
||||
#endif
|
||||
#endif /* DEBUG_MKDEPEND */
|
||||
}
|
||||
|
||||
#if NeedVarargsPrototypes
|
||||
warning1(char *msg, ...)
|
||||
#else
|
||||
/*VARARGS0*/
|
||||
warning1(msg,x1,x2,x3,x4,x5,x6,x7,x8,x9)
|
||||
char *msg;
|
||||
#endif
|
||||
{
|
||||
#ifdef DEBUG_MKDEPEND
|
||||
#if NeedVarargsPrototypes
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
vfprintf(stderr, msg, args);
|
||||
va_end(args);
|
||||
#else
|
||||
fprintf(stderr, msg,x1,x2,x3,x4,x5,x6,x7,x8,x9);
|
||||
#endif
|
||||
#endif /* DEBUG_MKDEPEND */
|
||||
}
|
||||
368
mozilla/security/coreconf/mkdepend/mkdepend.man
Normal file
368
mozilla/security/coreconf/mkdepend/mkdepend.man
Normal file
@@ -0,0 +1,368 @@
|
||||
.\" $XConsortium: mkdepend.man,v 1.15 94/04/17 20:10:37 gildea Exp $
|
||||
.\" Copyright (c) 1993, 1994 X Consortium
|
||||
.\"
|
||||
.\" Permission is hereby granted, free of charge, to any person obtaining a
|
||||
.\" copy of this software and associated documentation files (the "Software"),
|
||||
.\" to deal in the Software without restriction, including without limitation
|
||||
.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
.\" and/or sell copies of the Software, and to permit persons to whom the
|
||||
.\" Software furnished to do so, subject to the following conditions:
|
||||
.\"
|
||||
.\" The above copyright notice and this permission notice shall be included in
|
||||
.\" all copies or substantial portions of the Software.
|
||||
.\"
|
||||
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
.\" THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
.\" SOFTWARE.
|
||||
.\"
|
||||
.\" Except as contained in this notice, the name of the X Consortium shall not
|
||||
.\" be used in advertising or otherwise to promote the sale, use or other
|
||||
.\" dealing in this Software without prior written authorization from the
|
||||
.\" X Consortium.
|
||||
.TH MAKEDEPEND 1 "Release 6" "X Version 11"
|
||||
.UC 4
|
||||
.SH NAME
|
||||
makedepend \- create dependencies in makefiles
|
||||
.SH SYNOPSIS
|
||||
.B makedepend
|
||||
[
|
||||
.B \-Dname=def
|
||||
] [
|
||||
.B \-Dname
|
||||
] [
|
||||
.B \-Iincludedir
|
||||
] [
|
||||
.B \-Yincludedir
|
||||
] [
|
||||
.B \-a
|
||||
] [
|
||||
.B \-fmakefile
|
||||
] [
|
||||
.B \-oobjsuffix
|
||||
] [
|
||||
.B \-pobjprefix
|
||||
] [
|
||||
.B \-sstring
|
||||
] [
|
||||
.B \-wwidth
|
||||
] [
|
||||
.B \-v
|
||||
] [
|
||||
.B \-m
|
||||
] [
|
||||
\-\^\-
|
||||
.B otheroptions
|
||||
\-\^\-
|
||||
]
|
||||
sourcefile .\|.\|.
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
.B Makedepend
|
||||
reads each
|
||||
.I sourcefile
|
||||
in sequence and parses it like a C-preprocessor,
|
||||
processing all
|
||||
.I #include,
|
||||
.I #define,
|
||||
.I #undef,
|
||||
.I #ifdef,
|
||||
.I #ifndef,
|
||||
.I #endif,
|
||||
.I #if
|
||||
and
|
||||
.I #else
|
||||
directives so that it can correctly tell which
|
||||
.I #include,
|
||||
directives would be used in a compilation.
|
||||
Any
|
||||
.I #include,
|
||||
directives can reference files having other
|
||||
.I #include
|
||||
directives, and parsing will occur in these files as well.
|
||||
.PP
|
||||
Every file that a
|
||||
.I sourcefile
|
||||
includes,
|
||||
directly or indirectly,
|
||||
is what
|
||||
.B makedepend
|
||||
calls a "dependency".
|
||||
These dependencies are then written to a
|
||||
.I makefile
|
||||
in such a way that
|
||||
.B make(1)
|
||||
will know which object files must be recompiled when a dependency has changed.
|
||||
.PP
|
||||
By default,
|
||||
.B makedepend
|
||||
places its output in the file named
|
||||
.I makefile
|
||||
if it exists, otherwise
|
||||
.I Makefile.
|
||||
An alternate makefile may be specified with the
|
||||
.B \-f
|
||||
option.
|
||||
It first searches the makefile for
|
||||
the line
|
||||
.sp
|
||||
# DO NOT DELETE THIS LINE \-\^\- make depend depends on it.
|
||||
.sp
|
||||
or one provided with the
|
||||
.B \-s
|
||||
option,
|
||||
as a delimiter for the dependency output.
|
||||
If it finds it, it will delete everything
|
||||
following this to the end of the makefile
|
||||
and put the output after this line.
|
||||
If it doesn't find it, the program
|
||||
will append the string to the end of the makefile
|
||||
and place the output following that.
|
||||
For each
|
||||
.I sourcefile
|
||||
appearing on the command line,
|
||||
.B makedepend
|
||||
puts lines in the makefile of the form
|
||||
.sp
|
||||
sourcefile.o:\0dfile .\|.\|.
|
||||
.sp
|
||||
Where "sourcefile.o" is the name from the command
|
||||
line with its suffix replaced with ".o",
|
||||
and "dfile" is a dependency discovered in a
|
||||
.I #include
|
||||
directive while parsing
|
||||
.I sourcefile
|
||||
or one of the files it included.
|
||||
.SH EXAMPLE
|
||||
Normally,
|
||||
.B makedepend
|
||||
will be used in a makefile target so that typing "make depend" will
|
||||
bring the dependencies up to date for the makefile.
|
||||
For example,
|
||||
.nf
|
||||
SRCS\0=\0file1.c\0file2.c\0.\|.\|.
|
||||
CFLAGS\0=\0\-O\0\-DHACK\0\-I\^.\^.\^/foobar\0\-xyz
|
||||
depend:
|
||||
makedepend\0\-\^\-\0$(CFLAGS)\0\-\^\-\0$(SRCS)
|
||||
.fi
|
||||
.SH OPTIONS
|
||||
.B Makedepend
|
||||
will ignore any option that it does not understand so that you may use
|
||||
the same arguments that you would for
|
||||
.B cc(1).
|
||||
.TP 5
|
||||
.B \-Dname=def or \-Dname
|
||||
Define.
|
||||
This places a definition for
|
||||
.I name
|
||||
in
|
||||
.B makedepend's
|
||||
symbol table.
|
||||
Without
|
||||
.I =def
|
||||
the symbol becomes defined as "1".
|
||||
.TP 5
|
||||
.B \-Iincludedir
|
||||
Include directory.
|
||||
This option tells
|
||||
.B makedepend
|
||||
to prepend
|
||||
.I includedir
|
||||
to its list of directories to search when it encounters
|
||||
a
|
||||
.I #include
|
||||
directive.
|
||||
By default,
|
||||
.B makedepend
|
||||
only searches the standard include directories (usually /usr/include
|
||||
and possibly a compiler-dependent directory).
|
||||
.TP 5
|
||||
.B \-Yincludedir
|
||||
Replace all of the standard include directories with the single specified
|
||||
include directory; you can omit the
|
||||
.I includedir
|
||||
to simply prevent searching the standard include directories.
|
||||
.TP 5
|
||||
.B \-a
|
||||
Append the dependencies to the end of the file instead of replacing them.
|
||||
.TP 5
|
||||
.B \-fmakefile
|
||||
Filename.
|
||||
This allows you to specify an alternate makefile in which
|
||||
.B makedepend
|
||||
can place its output.
|
||||
.TP 5
|
||||
.B \-oobjsuffix
|
||||
Object file suffix.
|
||||
Some systems may have object files whose suffix is something other
|
||||
than ".o".
|
||||
This option allows you to specify another suffix, such as
|
||||
".b" with
|
||||
.I -o.b
|
||||
or ":obj"
|
||||
with
|
||||
.I -o:obj
|
||||
and so forth.
|
||||
.TP 5
|
||||
.B \-pobjprefix
|
||||
Object file prefix.
|
||||
The prefix is prepended to the name of the object file. This is
|
||||
usually used to designate a different directory for the object file.
|
||||
The default is the empty string.
|
||||
.TP 5
|
||||
.B \-sstring
|
||||
Starting string delimiter.
|
||||
This option permits you to specify
|
||||
a different string for
|
||||
.B makedepend
|
||||
to look for in the makefile.
|
||||
.TP 5
|
||||
.B \-wwidth
|
||||
Line width.
|
||||
Normally,
|
||||
.B makedepend
|
||||
will ensure that every output line that it writes will be no wider than
|
||||
78 characters for the sake of readability.
|
||||
This option enables you to change this width.
|
||||
.TP 5
|
||||
.B \-v
|
||||
Verbose operation.
|
||||
This option causes
|
||||
.B makedepend
|
||||
to emit the list of files included by each input file on standard output.
|
||||
.TP 5
|
||||
.B \-m
|
||||
Warn about multiple inclusion.
|
||||
This option causes
|
||||
.B makedepend
|
||||
to produce a warning if any input file includes another file more than
|
||||
once. In previous versions of
|
||||
.B makedepend
|
||||
this was the default behavior; the default has been changed to better
|
||||
match the behavior of the C compiler, which does not consider multiple
|
||||
inclusion to be an error. This option is provided for backward
|
||||
compatibility, and to aid in debugging problems related to multiple
|
||||
inclusion.
|
||||
.TP 5
|
||||
.B "\-\^\- options \-\^\-"
|
||||
If
|
||||
.B makedepend
|
||||
encounters a double hyphen (\-\^\-) in the argument list,
|
||||
then any unrecognized argument following it
|
||||
will be silently ignored; a second double hyphen terminates this
|
||||
special treatment.
|
||||
In this way,
|
||||
.B makedepend
|
||||
can be made to safely ignore esoteric compiler arguments that might
|
||||
normally be found in a CFLAGS
|
||||
.B make
|
||||
macro (see the
|
||||
.B EXAMPLE
|
||||
section above).
|
||||
All options that
|
||||
.B makedepend
|
||||
recognizes and appear between the pair of double hyphens
|
||||
are processed normally.
|
||||
.SH ALGORITHM
|
||||
The approach used in this program enables it to run an order of magnitude
|
||||
faster than any other "dependency generator" I have ever seen.
|
||||
Central to this performance are two assumptions:
|
||||
that all files compiled by a single
|
||||
makefile will be compiled with roughly the same
|
||||
.I -I
|
||||
and
|
||||
.I -D
|
||||
options;
|
||||
and that most files in a single directory will include largely the
|
||||
same files.
|
||||
.PP
|
||||
Given these assumptions,
|
||||
.B makedepend
|
||||
expects to be called once for each makefile, with
|
||||
all source files that are maintained by the
|
||||
makefile appearing on the command line.
|
||||
It parses each source and include
|
||||
file exactly once, maintaining an internal symbol table
|
||||
for each.
|
||||
Thus, the first file on the command line will take an amount of time
|
||||
proportional to the amount of time that a normal C preprocessor takes.
|
||||
But on subsequent files, if it encounter's an include file
|
||||
that it has already parsed, it does not parse it again.
|
||||
.PP
|
||||
For example,
|
||||
imagine you are compiling two files,
|
||||
.I file1.c
|
||||
and
|
||||
.I file2.c,
|
||||
they each include the header file
|
||||
.I header.h,
|
||||
and the file
|
||||
.I header.h
|
||||
in turn includes the files
|
||||
.I def1.h
|
||||
and
|
||||
.I def2.h.
|
||||
When you run the command
|
||||
.sp
|
||||
makedepend\0file1.c\0file2.c
|
||||
.sp
|
||||
.B makedepend
|
||||
will parse
|
||||
.I file1.c
|
||||
and consequently,
|
||||
.I header.h
|
||||
and then
|
||||
.I def1.h
|
||||
and
|
||||
.I def2.h.
|
||||
It then decides that the dependencies for this file are
|
||||
.sp
|
||||
file1.o:\0header.h\0def1.h\0def2.h
|
||||
.sp
|
||||
But when the program parses
|
||||
.I file2.c
|
||||
and discovers that it, too, includes
|
||||
.I header.h,
|
||||
it does not parse the file,
|
||||
but simply adds
|
||||
.I header.h,
|
||||
.I def1.h
|
||||
and
|
||||
.I def2.h
|
||||
to the list of dependencies for
|
||||
.I file2.o.
|
||||
.SH "SEE ALSO"
|
||||
cc(1), make(1)
|
||||
.SH BUGS
|
||||
.B makedepend
|
||||
parses, but does not currently evaluate, the SVR4
|
||||
#predicate(token-list) preprocessor expression;
|
||||
such expressions are simply assumed to be true.
|
||||
This may cause the wrong
|
||||
.I #include
|
||||
directives to be evaluated.
|
||||
.PP
|
||||
Imagine you are parsing two files,
|
||||
say
|
||||
.I file1.c
|
||||
and
|
||||
.I file2.c,
|
||||
each includes the file
|
||||
.I def.h.
|
||||
The list of files that
|
||||
.I def.h
|
||||
includes might truly be different when
|
||||
.I def.h
|
||||
is included by
|
||||
.I file1.c
|
||||
than when it is included by
|
||||
.I file2.c.
|
||||
But once
|
||||
.B makedepend
|
||||
arrives at a list of dependencies for a file,
|
||||
it is cast in concrete.
|
||||
.SH AUTHOR
|
||||
Todd Brunhoff, Tektronix, Inc. and MIT Project Athena
|
||||
567
mozilla/security/coreconf/mkdepend/parse.c
Normal file
567
mozilla/security/coreconf/mkdepend/parse.c
Normal file
@@ -0,0 +1,567 @@
|
||||
/* $XConsortium: parse.c,v 1.30 94/04/17 20:10:38 gildea Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
|
||||
extern char *directives[];
|
||||
extern struct inclist maininclist;
|
||||
|
||||
find_includes(filep, file, file_red, recursion, failOK)
|
||||
struct filepointer *filep;
|
||||
struct inclist *file, *file_red;
|
||||
int recursion;
|
||||
boolean failOK;
|
||||
{
|
||||
register char *line;
|
||||
register int type;
|
||||
boolean recfailOK;
|
||||
|
||||
while (line = getline(filep)) {
|
||||
switch(type = deftype(line, filep, file_red, file, TRUE)) {
|
||||
case IF:
|
||||
doif:
|
||||
type = find_includes(filep, file,
|
||||
file_red, recursion+1, failOK);
|
||||
while ((type == ELIF) || (type == ELIFFALSE) ||
|
||||
(type == ELIFGUESSFALSE))
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
gobble(filep, file, file_red);
|
||||
break;
|
||||
case IFFALSE:
|
||||
case IFGUESSFALSE:
|
||||
doiffalse:
|
||||
if (type == IFGUESSFALSE || type == ELIFGUESSFALSE)
|
||||
recfailOK = TRUE;
|
||||
else
|
||||
recfailOK = failOK;
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
find_includes(filep, file,
|
||||
file_red, recursion+1, recfailOK);
|
||||
else
|
||||
if (type == ELIF)
|
||||
goto doif;
|
||||
else
|
||||
if ((type == ELIFFALSE) || (type == ELIFGUESSFALSE))
|
||||
goto doiffalse;
|
||||
break;
|
||||
case IFDEF:
|
||||
case IFNDEF:
|
||||
if ((type == IFDEF && isdefined(line, file_red, NULL))
|
||||
|| (type == IFNDEF && !isdefined(line, file_red, NULL))) {
|
||||
debug(1,(type == IFNDEF ?
|
||||
"line %d: %s !def'd in %s via %s%s\n" : "",
|
||||
filep->f_line, line,
|
||||
file->i_file, file_red->i_file, ": doit"));
|
||||
type = find_includes(filep, file,
|
||||
file_red, recursion+1, failOK);
|
||||
while (type == ELIF || type == ELIFFALSE || type == ELIFGUESSFALSE)
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
gobble(filep, file, file_red);
|
||||
}
|
||||
else {
|
||||
debug(1,(type == IFDEF ?
|
||||
"line %d: %s !def'd in %s via %s%s\n" : "",
|
||||
filep->f_line, line,
|
||||
file->i_file, file_red->i_file, ": gobble"));
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
find_includes(filep, file,
|
||||
file_red, recursion+1, failOK);
|
||||
else if (type == ELIF)
|
||||
goto doif;
|
||||
else if (type == ELIFFALSE || type == ELIFGUESSFALSE)
|
||||
goto doiffalse;
|
||||
}
|
||||
break;
|
||||
case ELSE:
|
||||
case ELIFFALSE:
|
||||
case ELIFGUESSFALSE:
|
||||
case ELIF:
|
||||
if (!recursion)
|
||||
gobble(filep, file, file_red);
|
||||
case ENDIF:
|
||||
if (recursion)
|
||||
return(type);
|
||||
case DEFINE:
|
||||
define(line, file);
|
||||
break;
|
||||
case UNDEF:
|
||||
if (!*line) {
|
||||
warning("%s, line %d: incomplete undef == \"%s\"\n",
|
||||
file_red->i_file, filep->f_line, line);
|
||||
break;
|
||||
}
|
||||
undefine(line, file_red);
|
||||
break;
|
||||
case INCLUDE:
|
||||
add_include(filep, file, file_red, line, FALSE, failOK);
|
||||
break;
|
||||
case INCLUDEDOT:
|
||||
add_include(filep, file, file_red, line, TRUE, failOK);
|
||||
break;
|
||||
case ERROR:
|
||||
warning("%s: %d: %s\n", file_red->i_file,
|
||||
filep->f_line, line);
|
||||
break;
|
||||
|
||||
case PRAGMA:
|
||||
case IDENT:
|
||||
case SCCS:
|
||||
case EJECT:
|
||||
break;
|
||||
case -1:
|
||||
warning("%s", file_red->i_file);
|
||||
if (file_red != file)
|
||||
warning1(" (reading %s)", file->i_file);
|
||||
warning1(", line %d: unknown directive == \"%s\"\n",
|
||||
filep->f_line, line);
|
||||
break;
|
||||
case -2:
|
||||
warning("%s", file_red->i_file);
|
||||
if (file_red != file)
|
||||
warning1(" (reading %s)", file->i_file);
|
||||
warning1(", line %d: incomplete include == \"%s\"\n",
|
||||
filep->f_line, line);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return(-1);
|
||||
}
|
||||
|
||||
gobble(filep, file, file_red)
|
||||
register struct filepointer *filep;
|
||||
struct inclist *file, *file_red;
|
||||
{
|
||||
register char *line;
|
||||
register int type;
|
||||
|
||||
while (line = getline(filep)) {
|
||||
switch(type = deftype(line, filep, file_red, file, FALSE)) {
|
||||
case IF:
|
||||
case IFFALSE:
|
||||
case IFGUESSFALSE:
|
||||
case IFDEF:
|
||||
case IFNDEF:
|
||||
type = gobble(filep, file, file_red);
|
||||
while ((type == ELIF) || (type == ELIFFALSE) ||
|
||||
(type == ELIFGUESSFALSE))
|
||||
type = gobble(filep, file, file_red);
|
||||
if (type == ELSE)
|
||||
(void)gobble(filep, file, file_red);
|
||||
break;
|
||||
case ELSE:
|
||||
case ENDIF:
|
||||
debug(0,("%s, line %d: #%s\n",
|
||||
file->i_file, filep->f_line,
|
||||
directives[type]));
|
||||
return(type);
|
||||
case DEFINE:
|
||||
case UNDEF:
|
||||
case INCLUDE:
|
||||
case INCLUDEDOT:
|
||||
case PRAGMA:
|
||||
case ERROR:
|
||||
case IDENT:
|
||||
case SCCS:
|
||||
case EJECT:
|
||||
break;
|
||||
case ELIF:
|
||||
case ELIFFALSE:
|
||||
case ELIFGUESSFALSE:
|
||||
return(type);
|
||||
case -1:
|
||||
warning("%s, line %d: unknown directive == \"%s\"\n",
|
||||
file_red->i_file, filep->f_line, line);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return(-1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Decide what type of # directive this line is.
|
||||
*/
|
||||
int deftype (line, filep, file_red, file, parse_it)
|
||||
register char *line;
|
||||
register struct filepointer *filep;
|
||||
register struct inclist *file_red, *file;
|
||||
int parse_it;
|
||||
{
|
||||
register char *p;
|
||||
char *directive, savechar;
|
||||
register int ret;
|
||||
|
||||
/*
|
||||
* Parse the directive...
|
||||
*/
|
||||
directive=line+1;
|
||||
while (*directive == ' ' || *directive == '\t')
|
||||
directive++;
|
||||
|
||||
p = directive;
|
||||
while (*p >= 'a' && *p <= 'z')
|
||||
p++;
|
||||
savechar = *p;
|
||||
*p = '\0';
|
||||
ret = match(directive, directives);
|
||||
*p = savechar;
|
||||
|
||||
/* If we don't recognize this compiler directive or we happen to just
|
||||
* be gobbling up text while waiting for an #endif or #elif or #else
|
||||
* in the case of an #elif we must check the zero_value and return an
|
||||
* ELIF or an ELIFFALSE.
|
||||
*/
|
||||
|
||||
if (ret == ELIF && !parse_it)
|
||||
{
|
||||
while (*p == ' ' || *p == '\t')
|
||||
p++;
|
||||
/*
|
||||
* parse an expression.
|
||||
*/
|
||||
debug(0,("%s, line %d: #elif %s ",
|
||||
file->i_file, filep->f_line, p));
|
||||
ret = zero_value(p, filep, file_red);
|
||||
if (ret != IF)
|
||||
{
|
||||
debug(0,("false...\n"));
|
||||
if (ret == IFFALSE)
|
||||
return(ELIFFALSE);
|
||||
else
|
||||
return(ELIFGUESSFALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
debug(0,("true...\n"));
|
||||
return(ELIF);
|
||||
}
|
||||
}
|
||||
|
||||
if (ret < 0 || ! parse_it)
|
||||
return(ret);
|
||||
|
||||
/*
|
||||
* now decide how to parse the directive, and do it.
|
||||
*/
|
||||
while (*p == ' ' || *p == '\t')
|
||||
p++;
|
||||
switch (ret) {
|
||||
case IF:
|
||||
/*
|
||||
* parse an expression.
|
||||
*/
|
||||
ret = zero_value(p, filep, file_red);
|
||||
debug(0,("%s, line %d: %s #if %s\n",
|
||||
file->i_file, filep->f_line, ret?"false":"true", p));
|
||||
break;
|
||||
case IFDEF:
|
||||
case IFNDEF:
|
||||
debug(0,("%s, line %d: #%s %s\n",
|
||||
file->i_file, filep->f_line, directives[ret], p));
|
||||
case UNDEF:
|
||||
/*
|
||||
* separate the name of a single symbol.
|
||||
*/
|
||||
while (isalnum(*p) || *p == '_')
|
||||
*line++ = *p++;
|
||||
*line = '\0';
|
||||
break;
|
||||
case INCLUDE:
|
||||
debug(2,("%s, line %d: #include %s\n",
|
||||
file->i_file, filep->f_line, p));
|
||||
|
||||
/* Support ANSI macro substitution */
|
||||
{
|
||||
struct symtab *sym = isdefined(p, file_red, NULL);
|
||||
while (sym) {
|
||||
p = sym->s_value;
|
||||
debug(3,("%s : #includes SYMBOL %s = %s\n",
|
||||
file->i_incstring,
|
||||
sym -> s_name,
|
||||
sym -> s_value));
|
||||
/* mark file as having included a 'soft include' */
|
||||
file->i_included_sym = TRUE;
|
||||
sym = isdefined(p, file_red, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Separate the name of the include file.
|
||||
*/
|
||||
while (*p && *p != '"' && *p != '<')
|
||||
p++;
|
||||
if (! *p)
|
||||
return(-2);
|
||||
if (*p++ == '"') {
|
||||
ret = INCLUDEDOT;
|
||||
while (*p && *p != '"')
|
||||
*line++ = *p++;
|
||||
} else
|
||||
while (*p && *p != '>')
|
||||
*line++ = *p++;
|
||||
*line = '\0';
|
||||
break;
|
||||
case DEFINE:
|
||||
/*
|
||||
* copy the definition back to the beginning of the line.
|
||||
*/
|
||||
strcpy (line, p);
|
||||
break;
|
||||
case ELSE:
|
||||
case ENDIF:
|
||||
case ELIF:
|
||||
case PRAGMA:
|
||||
case ERROR:
|
||||
case IDENT:
|
||||
case SCCS:
|
||||
case EJECT:
|
||||
debug(0,("%s, line %d: #%s\n",
|
||||
file->i_file, filep->f_line, directives[ret]));
|
||||
/*
|
||||
* nothing to do.
|
||||
*/
|
||||
break;
|
||||
}
|
||||
return(ret);
|
||||
}
|
||||
|
||||
struct symtab *isdefined(symbol, file, srcfile)
|
||||
register char *symbol;
|
||||
struct inclist *file;
|
||||
struct inclist **srcfile;
|
||||
{
|
||||
register struct symtab *val;
|
||||
|
||||
if (val = slookup(symbol, &maininclist)) {
|
||||
debug(1,("%s defined on command line\n", symbol));
|
||||
if (srcfile != NULL) *srcfile = &maininclist;
|
||||
return(val);
|
||||
}
|
||||
if (val = fdefined(symbol, file, srcfile))
|
||||
return(val);
|
||||
debug(1,("%s not defined in %s\n", symbol, file->i_file));
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
struct symtab *fdefined(symbol, file, srcfile)
|
||||
register char *symbol;
|
||||
struct inclist *file;
|
||||
struct inclist **srcfile;
|
||||
{
|
||||
register struct inclist **ip;
|
||||
register struct symtab *val;
|
||||
register int i;
|
||||
static int recurse_lvl = 0;
|
||||
|
||||
if (file->i_defchecked)
|
||||
return(NULL);
|
||||
file->i_defchecked = TRUE;
|
||||
if (val = slookup(symbol, file))
|
||||
debug(1,("%s defined in %s as %s\n", symbol, file->i_file, val->s_value));
|
||||
if (val == NULL && file->i_list)
|
||||
{
|
||||
for (ip = file->i_list, i=0; i < file->i_listlen; i++, ip++)
|
||||
if (val = fdefined(symbol, *ip, srcfile)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (val != NULL && srcfile != NULL) *srcfile = file;
|
||||
recurse_lvl--;
|
||||
file->i_defchecked = FALSE;
|
||||
|
||||
return(val);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return type based on if the #if expression evaluates to 0
|
||||
*/
|
||||
zero_value(exp, filep, file_red)
|
||||
register char *exp;
|
||||
register struct filepointer *filep;
|
||||
register struct inclist *file_red;
|
||||
{
|
||||
if (cppsetup(exp, filep, file_red))
|
||||
return(IFFALSE);
|
||||
else
|
||||
return(IF);
|
||||
}
|
||||
|
||||
define(def, file)
|
||||
char *def;
|
||||
struct inclist *file;
|
||||
{
|
||||
char *val;
|
||||
|
||||
/* Separate symbol name and its value */
|
||||
val = def;
|
||||
while (isalnum(*val) || *val == '_')
|
||||
val++;
|
||||
if (*val)
|
||||
*val++ = '\0';
|
||||
while (*val == ' ' || *val == '\t')
|
||||
val++;
|
||||
|
||||
if (!*val)
|
||||
val = "1";
|
||||
define2(def, val, file);
|
||||
}
|
||||
|
||||
define2(name, val, file)
|
||||
char *name, *val;
|
||||
struct inclist *file;
|
||||
{
|
||||
int first, last, below;
|
||||
register struct symtab *sp = NULL, *dest;
|
||||
|
||||
/* Make space if it's needed */
|
||||
if (file->i_defs == NULL)
|
||||
{
|
||||
file->i_defs = (struct symtab *)
|
||||
malloc(sizeof (struct symtab) * SYMTABINC);
|
||||
file->i_deflen = SYMTABINC;
|
||||
file->i_ndefs = 0;
|
||||
}
|
||||
else if (file->i_ndefs == file->i_deflen)
|
||||
file->i_defs = (struct symtab *)
|
||||
realloc(file->i_defs,
|
||||
sizeof(struct symtab)*(file->i_deflen+=SYMTABINC));
|
||||
|
||||
if (file->i_defs == NULL)
|
||||
fatalerr("malloc()/realloc() failure in insert_defn()\n");
|
||||
|
||||
below = first = 0;
|
||||
last = file->i_ndefs - 1;
|
||||
while (last >= first)
|
||||
{
|
||||
/* Fast inline binary search */
|
||||
register char *s1;
|
||||
register char *s2;
|
||||
register int middle = (first + last) / 2;
|
||||
|
||||
/* Fast inline strchr() */
|
||||
s1 = name;
|
||||
s2 = file->i_defs[middle].s_name;
|
||||
while (*s1++ == *s2++)
|
||||
if (s2[-1] == '\0') break;
|
||||
|
||||
/* If exact match, set sp and break */
|
||||
if (*--s1 == *--s2)
|
||||
{
|
||||
sp = file->i_defs + middle;
|
||||
break;
|
||||
}
|
||||
|
||||
/* If name > i_defs[middle] ... */
|
||||
if (*s1 > *s2)
|
||||
{
|
||||
below = first;
|
||||
first = middle + 1;
|
||||
}
|
||||
/* else ... */
|
||||
else
|
||||
{
|
||||
below = last = middle - 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Search is done. If we found an exact match to the symbol name,
|
||||
just replace its s_value */
|
||||
if (sp != NULL)
|
||||
{
|
||||
free(sp->s_value);
|
||||
sp->s_value = copy(val);
|
||||
return;
|
||||
}
|
||||
|
||||
sp = file->i_defs + file->i_ndefs++;
|
||||
dest = file->i_defs + below + 1;
|
||||
while (sp > dest)
|
||||
{
|
||||
*sp = sp[-1];
|
||||
sp--;
|
||||
}
|
||||
sp->s_name = copy(name);
|
||||
sp->s_value = copy(val);
|
||||
}
|
||||
|
||||
struct symtab *slookup(symbol, file)
|
||||
register char *symbol;
|
||||
register struct inclist *file;
|
||||
{
|
||||
register int first = 0;
|
||||
register int last = file->i_ndefs - 1;
|
||||
|
||||
if (file) while (last >= first)
|
||||
{
|
||||
/* Fast inline binary search */
|
||||
register char *s1;
|
||||
register char *s2;
|
||||
register int middle = (first + last) / 2;
|
||||
|
||||
/* Fast inline strchr() */
|
||||
s1 = symbol;
|
||||
s2 = file->i_defs[middle].s_name;
|
||||
while (*s1++ == *s2++)
|
||||
if (s2[-1] == '\0') break;
|
||||
|
||||
/* If exact match, we're done */
|
||||
if (*--s1 == *--s2)
|
||||
{
|
||||
return file->i_defs + middle;
|
||||
}
|
||||
|
||||
/* If symbol > i_defs[middle] ... */
|
||||
if (*s1 > *s2)
|
||||
{
|
||||
first = middle + 1;
|
||||
}
|
||||
/* else ... */
|
||||
else
|
||||
{
|
||||
last = middle - 1;
|
||||
}
|
||||
}
|
||||
return(NULL);
|
||||
}
|
||||
|
||||
undefine(symbol, file)
|
||||
char *symbol;
|
||||
register struct inclist *file;
|
||||
{
|
||||
register struct symtab *ptr;
|
||||
struct inclist *srcfile;
|
||||
while ((ptr = isdefined(symbol, file, &srcfile)) != NULL)
|
||||
{
|
||||
srcfile->i_ndefs--;
|
||||
for (; ptr < srcfile->i_defs + srcfile->i_ndefs; ptr++)
|
||||
*ptr = ptr[1];
|
||||
}
|
||||
}
|
||||
132
mozilla/security/coreconf/mkdepend/pr.c
Normal file
132
mozilla/security/coreconf/mkdepend/pr.c
Normal file
@@ -0,0 +1,132 @@
|
||||
/* $XConsortium: pr.c,v 1.17 94/04/17 20:10:38 gildea Exp $ */
|
||||
/*
|
||||
|
||||
Copyright (c) 1993, 1994 X Consortium
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of the X Consortium shall not be
|
||||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the X Consortium.
|
||||
|
||||
*/
|
||||
|
||||
#include "def.h"
|
||||
|
||||
extern struct inclist inclist[ MAXFILES ],
|
||||
*inclistp;
|
||||
extern char *objprefix;
|
||||
extern char *objsuffix;
|
||||
extern int width;
|
||||
extern boolean printed;
|
||||
extern boolean verbose;
|
||||
extern boolean show_where_not;
|
||||
|
||||
add_include(filep, file, file_red, include, dot, failOK)
|
||||
struct filepointer *filep;
|
||||
struct inclist *file, *file_red;
|
||||
char *include;
|
||||
boolean dot;
|
||||
{
|
||||
register struct inclist *newfile;
|
||||
register struct filepointer *content;
|
||||
|
||||
/*
|
||||
* First decide what the pathname of this include file really is.
|
||||
*/
|
||||
newfile = inc_path(file->i_file, include, dot);
|
||||
if (newfile == NULL) {
|
||||
if (failOK)
|
||||
return;
|
||||
if (file != file_red)
|
||||
warning("%s (reading %s, line %d): ",
|
||||
file_red->i_file, file->i_file, filep->f_line);
|
||||
else
|
||||
warning("%s, line %d: ", file->i_file, filep->f_line);
|
||||
warning1("cannot find include file \"%s\"\n", include);
|
||||
show_where_not = TRUE;
|
||||
newfile = inc_path(file->i_file, include, dot);
|
||||
show_where_not = FALSE;
|
||||
}
|
||||
|
||||
if (newfile) {
|
||||
|
||||
/* Only add new dependency files if they don't have "/usr/include" in them. */
|
||||
if (!(newfile && newfile->i_file && strstr(newfile->i_file, "/usr/"))) {
|
||||
included_by(file, newfile);
|
||||
}
|
||||
|
||||
if (!newfile->i_searched) {
|
||||
newfile->i_searched = TRUE;
|
||||
content = getfile(newfile->i_file);
|
||||
find_includes(content, newfile, file_red, 0, failOK);
|
||||
freefile(content);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
recursive_pr_include(head, file, base)
|
||||
register struct inclist *head;
|
||||
register char *file, *base;
|
||||
{
|
||||
register int i;
|
||||
|
||||
if (head->i_marked)
|
||||
return;
|
||||
head->i_marked = TRUE;
|
||||
if (head->i_file != file)
|
||||
pr(head, file, base);
|
||||
for (i=0; i<head->i_listlen; i++)
|
||||
recursive_pr_include(head->i_list[ i ], file, base);
|
||||
}
|
||||
|
||||
pr(ip, file, base)
|
||||
register struct inclist *ip;
|
||||
char *file, *base;
|
||||
{
|
||||
static char *lastfile;
|
||||
static int current_len;
|
||||
register int len, i;
|
||||
char buf[ BUFSIZ ];
|
||||
|
||||
printed = TRUE;
|
||||
len = strlen(ip->i_file)+1;
|
||||
if (current_len + len > width || file != lastfile) {
|
||||
lastfile = file;
|
||||
sprintf(buf, "\n%s%s%s: %s", objprefix, base, objsuffix,
|
||||
ip->i_file);
|
||||
len = current_len = strlen(buf);
|
||||
}
|
||||
else {
|
||||
buf[0] = ' ';
|
||||
strcpy(buf+1, ip->i_file);
|
||||
current_len += len;
|
||||
}
|
||||
fwrite(buf, len, 1, stdout);
|
||||
|
||||
/*
|
||||
* If verbose is set, then print out what this file includes.
|
||||
*/
|
||||
if (! verbose || ip->i_list == NULL || ip->i_notified)
|
||||
return;
|
||||
ip->i_notified = TRUE;
|
||||
lastfile = NULL;
|
||||
printf("\n# %s includes:", ip->i_file);
|
||||
for (i=0; i<ip->i_listlen; i++)
|
||||
printf("\n#\t%s", ip->i_list[ i ]->i_incstring);
|
||||
}
|
||||
@@ -43,23 +43,22 @@
|
||||
#
|
||||
|
||||
ifndef JAVA_SOURCE_COMPONENT
|
||||
JAVA_SOURCE_COMPONENT = java
|
||||
JAVA_SOURCE_COMPONENT = java
|
||||
endif
|
||||
|
||||
ifndef NETLIB_SOURCE_COMPONENT
|
||||
NETLIB_SOURCE_COMPONENT = netlib
|
||||
NETLIB_SOURCE_COMPONENT = netlib
|
||||
endif
|
||||
|
||||
ifndef NSPR_SOURCE_COMPONENT
|
||||
NSPR_SOURCE_COMPONENT = nspr20
|
||||
NSPR_SOURCE_COMPONENT = nspr20
|
||||
endif
|
||||
|
||||
ifndef SECTOOLS_SOURCE_COMPONENT
|
||||
SECTOOLS_SOURCE_COMPONENT = sectools
|
||||
SECTOOLS_SOURCE_COMPONENT = sectools
|
||||
endif
|
||||
|
||||
ifndef SECURITY_SOURCE_COMPONENT
|
||||
SECURITY_SOURCE_COMPONENT = security
|
||||
SECURITY_SOURCE_COMPONENT = security
|
||||
endif
|
||||
|
||||
MK_MODULE = included
|
||||
|
||||
@@ -31,8 +31,10 @@
|
||||
# GPL.
|
||||
#
|
||||
|
||||
DEPTH = ../..
|
||||
CORE_DEPTH = ../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
MODULE = coreconf
|
||||
|
||||
@@ -42,30 +44,15 @@ PLSRCS = nfspwd.pl
|
||||
|
||||
PROGRAM = nsinstall
|
||||
|
||||
# Indicate that this directory builds build tools.
|
||||
INTERNAL_TOOLS = 1
|
||||
include $(CORE_DEPTH)/coreconf/autoconf.mk
|
||||
include $(topsrcdir)/coreconf/config.mk
|
||||
|
||||
|
||||
include $(DEPTH)/coreconf/config.mk
|
||||
|
||||
ifeq (,$(filter-out OS2 WIN%,$(OS_TARGET)))
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
PROGRAM =
|
||||
else
|
||||
TARGETS = $(PROGRAM) $(PLSRCS:.pl=)
|
||||
endif
|
||||
|
||||
ifdef NATIVE_CC
|
||||
CC=$(NATIVE_CC)
|
||||
endif
|
||||
|
||||
ifdef NATIVE_FLAGS
|
||||
OS_CFLAGS=$(NATIVE_FLAGS)
|
||||
endif
|
||||
|
||||
include $(DEPTH)/coreconf/rules.mk
|
||||
|
||||
# Redefine MAKE_OBJDIR for just this directory
|
||||
define MAKE_OBJDIR
|
||||
if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
|
||||
endef
|
||||
include $(topsrcdir)/coreconf/rules.mk
|
||||
|
||||
export:: libs
|
||||
@@ -55,16 +55,10 @@ typedef unsigned int mode_t;
|
||||
|
||||
#define HAVE_LCHOWN
|
||||
|
||||
#if defined(AIX) || defined(BSDI) || defined(HPUX) || defined(LINUX) || defined(SUNOS4) || defined(SCO) || defined(UNIXWARE) || defined(VMS) || defined(NTO) || defined(DARWIN) || defined(BEOS)
|
||||
#if defined(AIX) || defined(BSDI) || defined(HPUX) || defined(LINUX) || defined(SUNOS4) || defined(SCO) || defined(UNIXWARE) || defined(VMS)
|
||||
#undef HAVE_LCHOWN
|
||||
#endif
|
||||
|
||||
#define HAVE_FCHMOD
|
||||
|
||||
#if defined(BEOS)
|
||||
#undef HAVE_FCHMOD
|
||||
#endif
|
||||
|
||||
#ifdef LINUX
|
||||
#include <getopt.h>
|
||||
#endif
|
||||
@@ -106,7 +100,7 @@ usage(void)
|
||||
fprintf(stderr,
|
||||
"usage: %s [-C cwd] [-L linkprefix] [-m mode] [-o owner] [-g group]\n"
|
||||
" %*s [-DdltR] file [file ...] directory\n",
|
||||
program, (int)strlen(program), "");
|
||||
program, strlen(program), "");
|
||||
exit(2);
|
||||
}
|
||||
|
||||
@@ -403,24 +397,14 @@ retry:
|
||||
|
||||
if (ftruncate(tofd, sb.st_size) < 0)
|
||||
fail("cannot truncate %s", toname);
|
||||
/*
|
||||
** On OpenVMS we can't chmod() until the file is closed, and we
|
||||
** have to utime() last since fchown/chmod alter the timestamps.
|
||||
*/
|
||||
#ifndef VMS
|
||||
if (dotimes) {
|
||||
utb.actime = sb.st_atime;
|
||||
utb.modtime = sb.st_mtime;
|
||||
if (utime(toname, &utb) < 0)
|
||||
fail("cannot set times of %s", toname);
|
||||
}
|
||||
#ifdef HAVE_FCHMOD
|
||||
if (fchmod(tofd, mode) < 0)
|
||||
#else
|
||||
if (chmod(toname, mode) < 0)
|
||||
#endif
|
||||
fail("cannot change mode of %s", toname);
|
||||
#endif
|
||||
if ((owner || group) && fchown(tofd, uid, gid) < 0)
|
||||
fail("cannot change owner of %s", toname);
|
||||
|
||||
@@ -428,16 +412,6 @@ retry:
|
||||
if (close(tofd) < 0)
|
||||
fail("close reports write error on %s", toname);
|
||||
close(fromfd);
|
||||
#ifdef VMS
|
||||
if (chmod(toname, mode) < 0)
|
||||
fail("cannot change mode of %s", toname);
|
||||
if (dotimes) {
|
||||
utb.actime = sb.st_atime;
|
||||
utb.modtime = sb.st_mtime;
|
||||
if (utime(toname, &utb) < 0)
|
||||
fail("cannot set times of %s", toname);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
free(toname);
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
** Pathname subroutines.
|
||||
*/
|
||||
#include <assert.h>
|
||||
#if defined(FREEBSD) || defined(BSDI) || defined(DARWIN)
|
||||
#if defined(FREEBSD) || defined(BSDI)
|
||||
#include <sys/types.h>
|
||||
#endif /* FREEBSD */
|
||||
#include <dirent.h>
|
||||
@@ -69,7 +69,7 @@ fail(char *format, ...)
|
||||
va_start(ap, format);
|
||||
vfprintf(stderr, format, ap);
|
||||
va_end(ap);
|
||||
if (error) {
|
||||
if (error)
|
||||
|
||||
#ifdef USE_REENTRANT_LIBC
|
||||
R_STRERROR_R(errno);
|
||||
@@ -77,8 +77,7 @@ fail(char *format, ...)
|
||||
#else
|
||||
fprintf(stderr, ": %s", strerror(errno));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
putc('\n', stderr);
|
||||
abort();
|
||||
exit(1);
|
||||
|
||||
14
mozilla/security/coreconf/SunOS5.9.mk → mozilla/security/coreconf/platform.mk
Executable file → Normal file
14
mozilla/security/coreconf/SunOS5.9.mk → mozilla/security/coreconf/platform.mk
Executable file → Normal file
@@ -30,15 +30,9 @@
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
# Config stuff for SunOS5.9
|
||||
#
|
||||
|
||||
SOL_CFLAGS += -D_SVID_GETTOD
|
||||
#######################################################################
|
||||
# Master "Core Components" <platform> tag #
|
||||
#######################################################################
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/SunOS5.mk
|
||||
|
||||
ifeq ($(OS_RELEASE),5.9)
|
||||
OS_DEFINES += -DSOLARIS2_9
|
||||
endif
|
||||
|
||||
OS_LIBS += -lthread -lnsl -lsocket -lposix4 -ldl -lc
|
||||
PLATFORM = $(OBJDIR_NAME)
|
||||
@@ -40,7 +40,7 @@
|
||||
#
|
||||
|
||||
ifndef OBJ_PREFIX
|
||||
OBJ_PREFIX =
|
||||
OBJ_PREFIX =
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -48,17 +48,25 @@ endif
|
||||
#
|
||||
|
||||
ifndef LIB_PREFIX
|
||||
LIB_PREFIX = lib
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
LIB_PREFIX =
|
||||
else
|
||||
LIB_PREFIX = lib
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifndef DLL_PREFIX
|
||||
DLL_PREFIX = lib
|
||||
ifeq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
|
||||
DLL_PREFIX =
|
||||
else
|
||||
DLL_PREFIX = lib
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifndef IMPORT_LIB_PREFIX
|
||||
IMPORT_LIB_PREFIX =
|
||||
IMPORT_LIB_PREFIX =
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -66,7 +74,6 @@ endif
|
||||
#
|
||||
|
||||
ifndef PROG_PREFIX
|
||||
PROG_PREFIX =
|
||||
PROG_PREFIX =
|
||||
endif
|
||||
|
||||
MK_PREFIX = included
|
||||
|
||||
@@ -59,6 +59,13 @@ foreach $jarfile (split(/ /,$var{FILES}) ) {
|
||||
}
|
||||
}
|
||||
|
||||
# don't compress jar files containing classes since some java
|
||||
# implementations do not implement decompression correctly
|
||||
if ( ($jarfile eq 'xpclass.jar') || ($jarfile eq 'xpclass_dbg.jar') ) {
|
||||
$zipoptions .= ' -0';
|
||||
}
|
||||
|
||||
|
||||
# just in case the directory ends in a /, remove it
|
||||
if ($jardir =~ /\/$/) {
|
||||
chop $jardir;
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
# Double-Colon rules for utilizing the binary release model. #
|
||||
#######################################################################
|
||||
|
||||
all:: export libs
|
||||
all:: export libs program install
|
||||
|
||||
ifeq ($(AUTOCLEAN),1)
|
||||
autobuild:: clean export private_export libs program install
|
||||
@@ -52,13 +52,6 @@ endif
|
||||
platform::
|
||||
@echo $(OBJDIR_NAME)
|
||||
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
USE_NT_C_SYNTAX=1
|
||||
endif
|
||||
|
||||
ifdef XP_OS2_VACPP
|
||||
USE_NT_C_SYNTAX=1
|
||||
endif
|
||||
|
||||
#
|
||||
# IMPORTS will always be associated with a component. Therefore,
|
||||
@@ -71,7 +64,7 @@ endif
|
||||
|
||||
import::
|
||||
@echo "== import.pl =="
|
||||
@perl -I$(CORE_DEPTH)/coreconf $(CORE_DEPTH)/coreconf/import.pl \
|
||||
@perl -I$(topsrcdir)/coreconf $(topsrcdir)/coreconf/import.pl \
|
||||
"RELEASE_TREE=$(RELEASE_TREE)" \
|
||||
"IMPORTS=$(IMPORTS)" \
|
||||
"VERSION=$(VERSION)" \
|
||||
@@ -87,29 +80,35 @@ import::
|
||||
"$(XPHEADER_JAR)=$(IMPORT_XP_DIR)|$(SOURCE_XP_DIR)/public/|v" \
|
||||
"$(MDHEADER_JAR)=$(IMPORT_MD_DIR)|$(SOURCE_MD_DIR)/include|" \
|
||||
"$(MDBINARY_JAR)=$(IMPORT_MD_DIR)|$(SOURCE_MD_DIR)|"
|
||||
# On Mac OS X ranlib needs to be rerun after static libs are moved.
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
find $(SOURCE_MD_DIR)/lib -name "*.a" -exec $(RANLIB) {} \;
|
||||
|
||||
makefiles: $(SUBMAKEFILES)
|
||||
ifdef DIRS
|
||||
@for d in $(filter-out $(STATIC_MAKEFILES), $(DIRS)); do\
|
||||
$(MAKE) -C $$d $@ \
|
||||
done
|
||||
endif
|
||||
|
||||
export::
|
||||
export:: $(SUBMAKEFILES) $(MAKE_DIRS)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
private_export::
|
||||
private_export:: $(SUBMAKEFILES) $(MAKE_DIRS)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
release_export::
|
||||
release_export:: $(SUBMAKEFILES) $(MAKE_DIRS)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
release_classes::
|
||||
release_classes:: $(SUBMAKEFILES) $(MAKE_DIRS)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
libs program install:: $(TARGETS)
|
||||
libs program install:: $(SUBMAKEFILES) $(TARGETS) $(MAKE_DIRS)
|
||||
ifdef LIBRARY
|
||||
$(INSTALL) -m 664 $(LIBRARY) $(SOURCE_LIB_DIR)
|
||||
endif
|
||||
ifdef SHARED_LIBRARY
|
||||
$(INSTALL) -m 775 $(SHARED_LIBRARY) $(SOURCE_LIB_DIR)
|
||||
ifeq ($(OS_ARCH),OpenVMS)
|
||||
$(INSTALL) -m 775 $(SHARED_LIBRARY:$(DLL_SUFFIX)=vms) $(SOURCE_LIB_DIR)
|
||||
endif
|
||||
endif
|
||||
ifdef IMPORT_LIBRARY
|
||||
$(INSTALL) -m 775 $(IMPORT_LIBRARY) $(SOURCE_LIB_DIR)
|
||||
@@ -122,17 +121,25 @@ ifdef PROGRAMS
|
||||
endif
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
tests::
|
||||
tests:: $(SUBMAKEFILES)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
clean clobber::
|
||||
clean clobber:: $(SUBMAKEFILES)
|
||||
rm -rf $(ALL_TRASH)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
realclean clobber_all::
|
||||
realclean clobber_all:: $(SUBMAKEFILES)
|
||||
rm -rf $(wildcard *.OBJ) dist $(ALL_TRASH)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
distclean:: $(SUBMAKEFILES)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
rm -rf $(ALL_TRASH) ; \
|
||||
rm -rf $(wildcard *.map) \
|
||||
Makefile .HSancillary \
|
||||
$(wildcard *.$(OBJ_SUFFIX)) $(wildcard *.ho) \
|
||||
$(wildcard *.$(LIB_SUFFIX)) $(wildcard *.$(DLL_SUFFIX))
|
||||
|
||||
#ifdef ALL_PLATFORMS
|
||||
#all_platforms:: $(NFSPWD)
|
||||
# @d=`$(NFSPWD)`; \
|
||||
@@ -154,14 +161,14 @@ realclean clobber_all::
|
||||
#######################################################################
|
||||
|
||||
|
||||
release_clean::
|
||||
release_clean:: $(SUBMAKEFILES)
|
||||
rm -rf $(SOURCE_XP_DIR)/release/$(RELEASE_MD_DIR)
|
||||
|
||||
release:: release_clean release_export release_classes release_policy release_md release_jars release_cpdistdir
|
||||
release:: release_clean release_export release_classes release_md release_jars release_cpdistdir
|
||||
|
||||
release_cpdistdir::
|
||||
release_cpdistdir:: $(SUBMAKEFILES)
|
||||
@echo "== cpdist.pl =="
|
||||
@perl -I$(CORE_DEPTH)/coreconf $(CORE_DEPTH)/coreconf/cpdist.pl \
|
||||
@perl -I$(topsrcdir)/coreconf $(topsrcdir)/coreconf/cpdist.pl \
|
||||
"RELEASE_TREE=$(RELEASE_TREE)" \
|
||||
"CORE_DEPTH=$(CORE_DEPTH)" \
|
||||
"MODULE=${MODULE}" \
|
||||
@@ -185,9 +192,9 @@ release_cpdistdir::
|
||||
# $(SOURCE_RELEASE_xxx_JAR) is a name like yyy.jar
|
||||
# $(SOURCE_RELEASE_xx_DIR) is a name like
|
||||
|
||||
release_jars::
|
||||
release_jars:: $(SUBMAKEFILES)
|
||||
@echo "== release.pl =="
|
||||
@perl -I$(CORE_DEPTH)/coreconf $(CORE_DEPTH)/coreconf/release.pl \
|
||||
@perl -I$(topsrcdir)/coreconf $(topsrcdir)/coreconf/release.pl \
|
||||
"RELEASE_TREE=$(RELEASE_TREE)" \
|
||||
"PLATFORM=$(PLATFORM)" \
|
||||
"OS_ARCH=$(OS_ARCH)" \
|
||||
@@ -240,33 +247,21 @@ endif
|
||||
|
||||
endif
|
||||
|
||||
release_policy::
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
ifndef NO_MD_RELEASE
|
||||
ifdef LIBRARY
|
||||
MD_LIB_RELEASE_FILES += $(LIBRARY)
|
||||
endif
|
||||
ifdef SHARED_LIBRARY
|
||||
MD_LIB_RELEASE_FILES += $(SHARED_LIBRARY)
|
||||
endif
|
||||
ifdef IMPORT_LIBRARY
|
||||
MD_LIB_RELEASE_FILES += $(IMPORT_LIBRARY)
|
||||
endif
|
||||
ifdef PROGRAM
|
||||
MD_BIN_RELEASE_FILES += $(PROGRAM)
|
||||
endif
|
||||
ifdef PROGRAMS
|
||||
MD_BIN_RELEASE_FILES += $(PROGRAMS)
|
||||
endif
|
||||
endif
|
||||
|
||||
release_md::
|
||||
ifneq ($(MD_LIB_RELEASE_FILES),)
|
||||
$(INSTALL) -m 444 $(MD_LIB_RELEASE_FILES) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
|
||||
ifdef LIBRARY
|
||||
$(INSTALL) -m 444 $(LIBRARY) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
|
||||
endif
|
||||
ifneq ($(MD_BIN_RELEASE_FILES),)
|
||||
$(INSTALL) -m 555 $(MD_BIN_RELEASE_FILES) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_BIN_DIR)
|
||||
ifdef SHARED_LIBRARY
|
||||
$(INSTALL) -m 555 $(SHARED_LIBRARY) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
|
||||
endif
|
||||
ifdef IMPORT_LIBRARY
|
||||
$(INSTALL) -m 555 $(IMPORT_LIBRARY) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_LIB_DIR)
|
||||
endif
|
||||
ifdef PROGRAM
|
||||
$(INSTALL) -m 555 $(PROGRAM) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_BIN_DIR)
|
||||
endif
|
||||
ifdef PROGRAMS
|
||||
$(INSTALL) -m 555 $(PROGRAMS) $(SOURCE_RELEASE_PREFIX)/$(SOURCE_RELEASE_BIN_DIR)
|
||||
endif
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
@@ -276,17 +271,25 @@ alltags:
|
||||
find . -name dist -prune -o \( -name '*.[hc]' -o -name '*.cp' -o -name '*.cpp' \) -print | xargs etags -a
|
||||
find . -name dist -prune -o \( -name '*.[hc]' -o -name '*.cp' -o -name '*.cpp' \) -print | xargs ctags -a
|
||||
|
||||
ifdef XP_OS2_VACPP
|
||||
# list of libs (such as -lnspr4) do not work for our compiler
|
||||
# change it to be $(DIST)/lib/nspr4.lib
|
||||
EXTRA_SHARED_LIBS := $(filter-out -L%,$(EXTRA_SHARED_LIBS))
|
||||
EXTRA_SHARED_LIBS := $(patsubst -l%,$(DIST)/lib/%.$(LIB_SUFFIX),$(EXTRA_SHARED_LIBS))
|
||||
endif
|
||||
|
||||
$(PROGRAM): $(OBJS) $(EXTRA_LIBS)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
$(MKPROG) $(subst /,\\,$(OBJS)) -Fe$@ -link $(LDFLAGS) $(subst /,\\,$(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS))
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
echo system windows >w16link
|
||||
echo option map >>w16link
|
||||
echo option oneautodata >>w16link
|
||||
echo option heapsize=32K >>w16link
|
||||
echo debug watcom all >>w16link
|
||||
echo name $@ >>w16link
|
||||
echo file >>w16link
|
||||
echo $(W16OBJS) , >>w16link
|
||||
echo $(W16LDFLAGS) >> w16link
|
||||
echo library >>w16link
|
||||
echo winsock.lib >>w16link
|
||||
$(LINK) @w16link.
|
||||
rm w16link
|
||||
else
|
||||
$(MKPROG) $(OBJS) -Fe$@ -link $(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
|
||||
endif
|
||||
else
|
||||
ifdef XP_OS2_VACPP
|
||||
$(MKPROG) -Fe$@ $(CFLAGS) $(OBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
|
||||
@@ -298,36 +301,30 @@ endif
|
||||
get_objs:
|
||||
@echo $(OBJS)
|
||||
|
||||
$(LIBRARY): $(OBJS)
|
||||
@$(MAKE_OBJDIR)
|
||||
$(LIBRARY): $(OBJS) Makefile Makefile.in
|
||||
rm -f $@
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
$(AR) $(subst /,\\,$(OBJS))
|
||||
else
|
||||
$(AR) $(OBJS)
|
||||
endif
|
||||
$(AR) $(AR_FLAGS) $(OBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
$(IMPORT_LIBRARY): $(SHARED_LIBRARY)
|
||||
wlib +$(SHARED_LIBRARY)
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
$(IMPORT_LIBRARY): $(MAPFILE)
|
||||
ifeq ($(OS_ARCH),OS2)
|
||||
$(IMPORT_LIBRARY): $(OBJS)
|
||||
rm -f $@
|
||||
$(IMPLIB) $@ $(MAPFILE)
|
||||
$(IMPLIB) $@ $(patsubst %.lib,%.dll.def,$@)
|
||||
$(RANLIB) $@
|
||||
endif
|
||||
|
||||
ifdef SHARED_LIBRARY_LIBS
|
||||
ifdef BUILD_TREE
|
||||
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(shell $(MAKE) -C $(dir) --no-print-directory get_objs))
|
||||
else
|
||||
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(addprefix $(dir)/,$(shell $(MAKE) -C $(dir) --no-print-directory get_objs)))
|
||||
endif
|
||||
SUB_SHLOBJS = $(foreach dir,$(SHARED_LIBRARY_DIRS),$(addprefix $(dir)/,$(shell $(MAKE) -C $(dir) --no-print-directory get_objs MDDEPEND_FILES=)))
|
||||
endif
|
||||
|
||||
$(SHARED_LIBRARY): $(OBJS) $(RES) $(MAPFILE) $(SUB_SHLOBJS)
|
||||
@$(MAKE_OBJDIR)
|
||||
$(SHARED_LIBRARY): $(OBJS) $(MAPFILE) Makefile Makefile.in
|
||||
rm -f $@
|
||||
ifeq ($(OS_TARGET)$(OS_RELEASE), AIX4.1)
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
echo "#!" > $(OBJDIR)/lib$(LIBRARY_NAME)_syms
|
||||
nm -B -C -g $(OBJS) \
|
||||
| awk '/ [T,D] / {print $$3}' \
|
||||
@@ -336,47 +333,77 @@ ifeq ($(OS_TARGET)$(OS_RELEASE), AIX4.1)
|
||||
$(LD) $(XCFLAGS) -o $@ $(OBJS) -bE:$(OBJDIR)/lib$(LIBRARY_NAME)_syms \
|
||||
-bM:SRE -bnoentry $(OS_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
|
||||
else
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
ifdef NS_USE_GCC
|
||||
$(LINK_DLL) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
echo system windows dll initinstance >w16link
|
||||
echo option map >>w16link
|
||||
echo option oneautodata >>w16link
|
||||
echo option heapsize=32K >>w16link
|
||||
echo debug watcom all >>w16link
|
||||
echo name $@ >>w16link
|
||||
echo file >>w16link
|
||||
echo $(W16OBJS) >>w16link
|
||||
echo $(W16LIBS) >>w16link
|
||||
echo libfile libentry >>w16link
|
||||
$(LINK) @w16link.
|
||||
rm w16link
|
||||
else
|
||||
$(LINK_DLL) -MAP $(DLLBASE) $(subst /,\\,$(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS) $(RES))
|
||||
$(LINK_DLL) -MAP $(DLLBASE) $(OBJS) $(SUB_SHLOBJS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS) $(LD_LIBS)
|
||||
endif
|
||||
else
|
||||
ifeq ($(OS_ARCH),OS2)
|
||||
@cmd /C "echo LIBRARY $(notdir $(basename $(SHARED_LIBRARY))) INITINSTANCE TERMINSTANCE >$@.def"
|
||||
@cmd /C "echo PROTMODE >>$@.def"
|
||||
@cmd /C "echo CODE LOADONCALL MOVEABLE DISCARDABLE >>$@.def"
|
||||
@cmd /C "echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >>$@.def"
|
||||
@cmd /C "echo EXPORTS >>$@.def"
|
||||
@cmd /C "$(FILTER) $(OBJS) >>$@.def"
|
||||
endif #OS2
|
||||
ifdef XP_OS2_VACPP
|
||||
$(MKSHLIB) $(DLLFLAGS) $(LDFLAGS) $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
|
||||
$(MKSHLIB) $(DLLFLAGS) $(LDFLAGS) $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $@.def
|
||||
else
|
||||
$(MKSHLIB) -o $@ $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
|
||||
endif
|
||||
chmod +x $@
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
ifdef MAPFILE
|
||||
nmedit -s $(MAPFILE) $@
|
||||
endif
|
||||
ifeq ($(OS_ARCH),OpenVMS)
|
||||
@echo "`translate $@`" > $(@:$(DLL_SUFFIX)=vms)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
$(RES): $(RESNAME)
|
||||
@$(MAKE_OBJDIR)
|
||||
# The resource compiler does not understand the -U option.
|
||||
ifdef NS_USE_GCC
|
||||
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES:-I%=--include-dir %) -o $@ $<
|
||||
else
|
||||
$(RC) $(filter-out -U%,$(DEFINES)) $(INCLUDES) -Fo$@ $<
|
||||
endif
|
||||
@echo $(RES) finished
|
||||
endif
|
||||
|
||||
$(MAPFILE): $(LIBRARY_NAME).def
|
||||
@$(MAKE_OBJDIR)
|
||||
$(PROCESS_MAP_FILE)
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
grep -v ';-' $(srcdir)/$(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
endif
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
grep -v ';-' $(srcdir)/$(LIBRARY_NAME).def | \
|
||||
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
|
||||
endif
|
||||
ifeq ($(OS_ARCH),AIX)
|
||||
grep -v ';+' $(srcdir)/$(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' > $@
|
||||
endif
|
||||
ifeq ($(OS_ARCH), HP-UX)
|
||||
grep -v ';+' $(srcdir)/$(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,+e ,' > $@
|
||||
endif
|
||||
ifeq ($(OS_ARCH), OSF1)
|
||||
grep -v ';+' $(srcdir)/$(LIBRARY_NAME).def | grep -v ';-' | \
|
||||
sed -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,,' -e 's,^,-exported_symbol ,' > $@
|
||||
endif
|
||||
|
||||
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(PROG_SUFFIX): $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX)
|
||||
@$(MAKE_OBJDIR)
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
$(MKPROG) $(OBJDIR)/$(PROG_PREFIX)$*$(OBJ_SUFFIX) -Fe$@ -link \
|
||||
$(LDFLAGS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS) $(OS_LIBS)
|
||||
else
|
||||
@@ -388,129 +415,106 @@ WCCFLAGS1 := $(subst /,\\,$(CFLAGS))
|
||||
WCCFLAGS2 := $(subst -I,-i=,$(WCCFLAGS1))
|
||||
WCCFLAGS3 := $(subst -D,-d,$(WCCFLAGS2))
|
||||
|
||||
# Translate source filenames to absolute paths. This is required for
|
||||
# debuggers under Windows & OS/2 to find source files automatically
|
||||
|
||||
ifeq (,$(filter-out OS2%,$(OS_TARGET)))
|
||||
NEED_ABSOLUTE_PATH := 1
|
||||
PWD := $(shell pwd)
|
||||
endif
|
||||
|
||||
ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
NEED_ABSOLUTE_PATH := 1
|
||||
ifeq (,$(findstring ;,$(PATH)))
|
||||
PWD := $(subst \,/,$(shell cygpath -w `pwd`))
|
||||
else
|
||||
PWD := $(shell pwd)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
abspath = $(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(PWD)/$(1)))
|
||||
else
|
||||
abspath = $(1)
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
|
||||
@$(MAKE_OBJDIR)
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
echo $(WCCFLAGS3) >w16wccf
|
||||
$(CC) -zq -fo$(OBJDIR)\\$(PROG_PREFIX)$*$(OBJ_SUFFIX) @w16wccf $*.c
|
||||
rm w16wccf
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $<
|
||||
endif
|
||||
else
|
||||
ifdef XP_OS2_VACPP
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $<
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
|
||||
$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
else
|
||||
$(CC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef XP_OS2_VACPP
|
||||
ifneq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET)))
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.s
|
||||
@$(MAKE_OBJDIR)
|
||||
$(AS) -o $@ $(ASFLAGS) -c $<
|
||||
endif
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.asm
|
||||
@$(MAKE_OBJDIR)
|
||||
ifdef XP_OS2_VACPP
|
||||
$(AS) -Fdo:$(OBJDIR) $(ASFLAGS) $(subst /,\\,$<)
|
||||
else
|
||||
$(AS) -Fo$@ $(ASFLAGS) -c $<
|
||||
endif
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.S
|
||||
@$(MAKE_OBJDIR)
|
||||
$(AS) -o $@ $(ASFLAGS) -c $<
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%: %.cpp
|
||||
@$(MAKE_OBJDIR)
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CCC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
$(CCC) -Fo$@ -c $(CXXFLAGS) $<
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CCC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
else
|
||||
$(CCC) -o $@ -c $(CFLAGS) $<
|
||||
endif
|
||||
$(CCC) -o $@ -c $(CXXFLAGS) $<
|
||||
endif
|
||||
|
||||
#
|
||||
# Please keep the next two rules in sync.
|
||||
#
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cc
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CCC) -o $@ -c $(CFLAGS) $<
|
||||
$(CCC) -o $@ -c $(CFLAGS) $*.cc
|
||||
|
||||
$(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.cpp
|
||||
@$(MAKE_OBJDIR)
|
||||
ifdef STRICT_CPLUSPLUS_SUFFIX
|
||||
echo "#line 1 \"$<\"" | cat - $< > $(OBJDIR)/t_$*.cc
|
||||
$(CCC) -o $@ -c $(CFLAGS) $(OBJDIR)/t_$*.cc
|
||||
echo "#line 1 \"$*.cpp\"" | cat - $*.cpp > $(OBJDIR)/t_$*.cc
|
||||
$(CCC) -o $@ -c $(CXXFLAGS) $(OBJDIR)/t_$*.cc
|
||||
rm -f $(OBJDIR)/t_$*.cc
|
||||
else
|
||||
ifdef USE_NT_C_SYNTAX
|
||||
$(CCC) -Fo$@ -c $(CFLAGS) $(call abspath,$<)
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
$(CCC) -Fo$@ -c $(CXXFLAGS) $<
|
||||
else
|
||||
ifdef NEED_ABSOLUTE_PATH
|
||||
$(CCC) -o $@ -c $(CFLAGS) $(call abspath,$<)
|
||||
ifdef XP_OS2_VACPP
|
||||
$(CCC) -Fo$@ -c $(CXXFLAGS) $<
|
||||
else
|
||||
$(CCC) -o $@ -c $(CFLAGS) $<
|
||||
$(CCC) -o $@ -c $(CXXFLAGS) $<
|
||||
endif
|
||||
endif
|
||||
endif #STRICT_CPLUSPLUS_SUFFIX
|
||||
|
||||
%.i: %.cpp
|
||||
$(CCC) -C -E $(CFLAGS) $< > $*.i
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
echo $(WCCFLAGS3) >w16wccf
|
||||
$(CCC) -pl -fo=$* @w16wccf $<
|
||||
rm w16wccf
|
||||
else
|
||||
$(CCC) -C -E $(CXXFLAGS) $< > $*.i
|
||||
endif
|
||||
|
||||
%.i: %.c
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
echo $(WCCFLAGS3) >w16wccf
|
||||
$(CC) -pl -fo=$* @w16wccf $<
|
||||
rm w16wccf
|
||||
else
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
$(CC) -C /P $(CFLAGS) $<
|
||||
else
|
||||
$(CC) -C -E $(CFLAGS) $< > $*.i
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
ifneq ($(OS_ARCH), WINNT)
|
||||
%.i: %.s
|
||||
$(CC) -C -E $(CFLAGS) $< > $*.i
|
||||
endif
|
||||
|
||||
%: %.pl
|
||||
rm -f $@; cp $*.pl $@; chmod +x $@
|
||||
rm -f $@; cp $< $@; chmod +x $@
|
||||
|
||||
%: %.sh
|
||||
rm -f $@; cp $*.sh $@; chmod +x $@
|
||||
rm -f $@; cp $< $@; chmod +x $@
|
||||
|
||||
# Cancel these implicit rules
|
||||
#
|
||||
%: %,v
|
||||
|
||||
%: RCS/%,v
|
||||
|
||||
%: s.%
|
||||
|
||||
%: SCCS/s.%
|
||||
|
||||
ifdef DIRS
|
||||
$(DIRS)::
|
||||
@@ -525,6 +529,25 @@ $(DIRS)::
|
||||
$(CLICK_STOPWATCH)
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Update Makefiles
|
||||
###############################################################################
|
||||
# Note: Passing depth to make-makefile is optional.
|
||||
# It saves the script some work, though.
|
||||
Makefile: Makefile.in $(topsrcdir)/configure
|
||||
@$(PERL) $(AUTOCONF_TOOLS)/make-makefile -t $(topsrcdir) -d $(CORE_DEPTH)
|
||||
|
||||
ifdef SUBMAKEFILES
|
||||
# VPATH does not work on some machines in this case, so add $(srcdir)
|
||||
$(SUBMAKEFILES): % : $(srcdir)/%.in
|
||||
@$(PERL) $(AUTOCONF_TOOLS)/make-makefile -t $(topsrcdir) -d $(CORE_DEPTH) $@
|
||||
endif
|
||||
|
||||
ifdef AUTOUPDATE_CONFIGURE
|
||||
$(topsrcdir)/configure: $(topsrcdir)/configure.in
|
||||
(cd $(topsrcdir) && $(AUTOCONF)) && (cd $(DEPTH) && ./config.status --recheck)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Bunch of things that extend the 'export' rule (in order):
|
||||
################################################################################
|
||||
@@ -595,19 +618,12 @@ ifdef NETLIBDEPTH
|
||||
CORE_DEPTH := $(NETLIBDEPTH)
|
||||
endif
|
||||
|
||||
# !!!!! THIS WILL CRASH SHMSDOS.EXE !!!!!
|
||||
# shmsdos does not support shell variables. It will crash when it tries
|
||||
# to parse the '=' character. A solution is to rewrite outofdate.pl so it
|
||||
# takes the Javac command as an argument and executes the command itself,
|
||||
# instead of returning a list of files.
|
||||
export:: $(JAVA_DESTPATH) $(JAVA_DESTPATH)/$(PACKAGE)
|
||||
@echo "!!! THIS COMMAND IS BROKEN ON WINDOWS--SEE rules.mk FOR DETAILS !!!"
|
||||
return -1
|
||||
@for d in $(JDIRS); do \
|
||||
if test -d $$d; then \
|
||||
set $(EXIT_ON_ERROR); \
|
||||
files=`echo $$d/*.java`; \
|
||||
list=`perl $(CORE_DEPTH)/coreconf/outofdate.pl $(PERLARG) \
|
||||
list=`perl $(topsrcdir)/coreconf/outofdate.pl $(PERLARG) \
|
||||
-d $(JAVA_DESTPATH)/$(PACKAGE) $$files`; \
|
||||
if test "$${list}x" != "x"; then \
|
||||
echo Building all java files in $$d; \
|
||||
@@ -659,15 +675,15 @@ export::
|
||||
@echo Generating/Updating JDK stubs
|
||||
$(JAVAH) -stubs -d $(JDK_STUB_DIR) $(JDK_PACKAGE_CLASSES)
|
||||
ifndef NO_MAC_JAVA_SHIT
|
||||
@if test ! -d $(CORE_DEPTH)/lib/mac/Java/; then \
|
||||
@if test ! -d $(topsrcdir)/lib/mac/Java/; then \
|
||||
echo "!!! You need to have a ns/lib/mac/Java directory checked out."; \
|
||||
echo "!!! This allows us to automatically update generated files for the mac."; \
|
||||
echo "!!! If you see any modified files there, please check them in."; \
|
||||
fi
|
||||
@echo Generating/Updating JDK headers for the Mac
|
||||
$(JAVAH) -mac -d $(CORE_DEPTH)/lib/mac/Java/_gen $(JDK_PACKAGE_CLASSES)
|
||||
$(JAVAH) -mac -d $(topsrcdir)/lib/mac/Java/_gen $(JDK_PACKAGE_CLASSES)
|
||||
@echo Generating/Updating JDK stubs for the Mac
|
||||
$(JAVAH) -mac -stubs -d $(CORE_DEPTH)/lib/mac/Java/_stubs $(JDK_PACKAGE_CLASSES)
|
||||
$(JAVAH) -mac -stubs -d $(topsrcdir)/lib/mac/Java/_stubs $(JDK_PACKAGE_CLASSES)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -708,15 +724,15 @@ export::
|
||||
@echo Generating/Updating JRI stubs
|
||||
$(JAVAH) -jri -stubs -d $(JRI_GEN_DIR) $(JRI_PACKAGE_CLASSES)
|
||||
ifndef NO_MAC_JAVA_SHIT
|
||||
@if test ! -d $(CORE_DEPTH)/lib/mac/Java/; then \
|
||||
@if test ! -d $(topsrcdir)/lib/mac/Java/; then \
|
||||
echo "!!! You need to have a ns/lib/mac/Java directory checked out."; \
|
||||
echo "!!! This allows us to automatically update generated files for the mac."; \
|
||||
echo "!!! If you see any modified files there, please check them in."; \
|
||||
fi
|
||||
@echo Generating/Updating JRI headers for the Mac
|
||||
$(JAVAH) -jri -mac -d $(CORE_DEPTH)/lib/mac/Java/_jri $(JRI_PACKAGE_CLASSES)
|
||||
$(JAVAH) -jri -mac -d $(TOPSRCDIR)/lib/mac/Java/_jri $(JRI_PACKAGE_CLASSES)
|
||||
@echo Generating/Updating JRI stubs for the Mac
|
||||
$(JAVAH) -jri -mac -stubs -d $(CORE_DEPTH)/lib/mac/Java/_jri $(JRI_PACKAGE_CLASSES)
|
||||
$(JAVAH) -jri -mac -stubs -d $(TOPSRCDIR)/lib/mac/Java/_jri $(JRI_PACKAGE_CLASSES)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -736,8 +752,14 @@ export::
|
||||
$(JAVAH) -jni -d $(JNI_GEN_DIR) $(JNI_GEN); \
|
||||
else \
|
||||
echo "Checking for out of date header files" ; \
|
||||
perl $(CORE_DEPTH)/coreconf/jniregen.pl $(PERLARG) \
|
||||
-d $(JAVA_DESTPATH) -j "$(JAVAH) -jni -d $(JNI_GEN_DIR)" $(JNI_GEN);\
|
||||
cmd="perl $(topsrcdir)/coreconf/jniregen.pl $(PERLARG) \
|
||||
-d $(JAVA_DESTPATH) $(JNI_GEN)"; \
|
||||
echo $$cmd; \
|
||||
list=`$$cmd`; \
|
||||
if test "$${list}x" != "x"; then \
|
||||
echo $(JAVAH) -jni -d $(JNI_GEN_DIR) $$list; \
|
||||
$(JAVAH) -jni -d $(JNI_GEN_DIR) $$list; \
|
||||
fi \
|
||||
fi
|
||||
endif
|
||||
endif
|
||||
@@ -777,7 +799,6 @@ $(JMC_GEN_DIR)/M%.c: $(JMCSRCDIR)/%.class
|
||||
$(JMC) -d $(JMC_GEN_DIR) -module $(JMC_GEN_FLAGS) $(?F:.class=)
|
||||
|
||||
$(OBJDIR)/M%$(OBJ_SUFFIX): $(JMC_GEN_DIR)/M%.h $(JMC_GEN_DIR)/M%.c
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CC) -o $@ -c $(CFLAGS) $(JMC_GEN_DIR)/M$*.c
|
||||
|
||||
export:: $(JMC_HEADERS) $(JMC_STUBS)
|
||||
@@ -788,25 +809,33 @@ endif
|
||||
# Copy each element of EXPORTS to $(SOURCE_XP_DIR)/public/$(MODULE)/
|
||||
#
|
||||
PUBLIC_EXPORT_DIR = $(SOURCE_XP_DIR)/public/$(MODULE)
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
PUBLIC_EXPORT_DIR = $(SOURCE_XP_DIR)/public/win16
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(EXPORTS),)
|
||||
EXPORTS := $(addprefix $(srcdir)/, $(EXPORTS))
|
||||
EXPORTS += $(GEN_EXPORTS)
|
||||
$(PUBLIC_EXPORT_DIR)::
|
||||
@if test ! -d $@; then \
|
||||
echo Creating $@; \
|
||||
$(NSINSTALL) -D $@; \
|
||||
fi
|
||||
|
||||
export:: $(PUBLIC_EXPORT_DIR)
|
||||
|
||||
export:: $(EXPORTS)
|
||||
$(INSTALL) -m 444 $^ $(PUBLIC_EXPORT_DIR)
|
||||
|
||||
export:: $(BUILT_SRCS)
|
||||
export:: $(EXPORTS) $(PUBLIC_EXPORT_DIR)
|
||||
$(INSTALL) -m 444 $(EXPORTS) $(PUBLIC_EXPORT_DIR)
|
||||
endif
|
||||
|
||||
# Duplicate export rule for private exports, with different directories
|
||||
|
||||
PRIVATE_EXPORT_DIR = $(SOURCE_XP_DIR)/private/$(MODULE)
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
PRIVATE_EXPORT_DIR = $(SOURCE_XP_DIR)/public/win16
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(PRIVATE_EXPORTS),)
|
||||
$(PRIVATE_EXPORT_DIR)::
|
||||
@@ -815,10 +844,9 @@ $(PRIVATE_EXPORT_DIR)::
|
||||
$(NSINSTALL) -D $@; \
|
||||
fi
|
||||
|
||||
private_export:: $(PRIVATE_EXPORT_DIR)
|
||||
|
||||
private_export:: $(PRIVATE_EXPORTS)
|
||||
$(INSTALL) -m 444 $^ $(PRIVATE_EXPORT_DIR)
|
||||
PRIVATE_EXPORTS := $(addprefix $(srcdir)/, $(PRIVATE_EXPORTS))
|
||||
private_export:: $(PRIVATE_EXPORTS) $(PRIVATE_EXPORT_DIR)
|
||||
$(INSTALL) -m 444 $(PRIVATE_EXPORTS) $(PRIVATE_EXPORT_DIR)
|
||||
else
|
||||
private_export::
|
||||
@echo There are no private exports.;
|
||||
@@ -830,14 +858,9 @@ endif
|
||||
### AND RESULTS_SUBDIR TO BE SET TO SOMETHING LIKE SECURITY/PKCS5
|
||||
##########################################################################
|
||||
|
||||
TESTS_DIR = $(RESULTS_DIR)/$(RESULTS_SUBDIR)/$(OS_TARGET)$(OS_RELEASE)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)
|
||||
TESTS_DIR = $(RESULTS_DIR)/$(RESULTS_SUBDIR)/$(OS_CONFIG)$(CPU_TAG)$(COMPILER_TAG)$(IMPL_STRATEGY)
|
||||
|
||||
ifneq ($(REGRESSION_SPEC),)
|
||||
|
||||
ifneq ($(BUILD_OPT),)
|
||||
REGDATE = $(subst \ ,, $(shell perl $(CORE_DEPTH)/$(MODULE)/scripts/now))
|
||||
endif
|
||||
|
||||
tests:: $(REGRESSION_SPEC)
|
||||
cd $(PLATFORM); \
|
||||
../$(SOURCE_MD_DIR)/bin/regress$(PROG_SUFFIX) specfile=../$(REGRESSION_SPEC) progress $(EXTRA_REGRESS_OPTIONS); \
|
||||
@@ -866,10 +889,8 @@ $(SOURCE_RELEASE_XP_DIR)/include::
|
||||
$(NSINSTALL) -D $@; \
|
||||
fi
|
||||
|
||||
release_export:: $(SOURCE_RELEASE_XP_DIR)/include
|
||||
|
||||
release_export:: $(EXPORTS)
|
||||
$(INSTALL) -m 444 $^ $(SOURCE_RELEASE_XP_DIR)/include
|
||||
release_export:: $(EXPORTS) $(SOURCE_RELEASE_XP_DIR)/include
|
||||
$(INSTALL) -m 444 $(EXPORTS) $(SOURCE_RELEASE_XP_DIR)/include
|
||||
endif
|
||||
|
||||
|
||||
@@ -877,9 +898,10 @@ endif
|
||||
|
||||
################################################################################
|
||||
|
||||
ifndef NO_MDUPDATE
|
||||
-include $(DEPENDENCIES)
|
||||
|
||||
ifneq (,$(filter-out OpenVMS OS2 WIN%,$(OS_TARGET)))
|
||||
ifneq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
|
||||
# Can't use sed because of its 4000-char line length limit, so resort to perl
|
||||
.DEFAULT:
|
||||
@perl -e ' \
|
||||
@@ -911,6 +933,7 @@ ifneq (,$(filter-out OpenVMS OS2 WIN%,$(OS_TARGET)))
|
||||
exit(1); \
|
||||
}'
|
||||
endif
|
||||
endif
|
||||
|
||||
#############################################################################
|
||||
# X dependency system
|
||||
@@ -919,21 +942,23 @@ endif
|
||||
ifdef MKDEPENDENCIES
|
||||
|
||||
# For Windows, $(MKDEPENDENCIES) must be -included before including rules.mk
|
||||
DEPEND_SOURCES = $(addprefix $(srcdir)/, $(CSRCS) $(CPPSRCS) $(ASFILES))
|
||||
|
||||
$(MKDEPENDENCIES)::
|
||||
@$(MAKE_OBJDIR)
|
||||
touch $(MKDEPENDENCIES)
|
||||
chmod u+w $(MKDEPENDENCIES)
|
||||
#on NT, the preceeding touch command creates a read-only file !?!?!
|
||||
#which is why we have to explicitly chmod it.
|
||||
$(MKDEPEND) -p$(OBJDIR_NAME)/ -o'$(OBJ_SUFFIX)' -f$(MKDEPENDENCIES) \
|
||||
$(NOMD_CFLAGS) $(YOPT) $(CSRCS) $(CPPSRCS) $(ASFILES)
|
||||
$(MKDEPEND) $(OBJDIR_OPTION) -o'$(OBJ_SUFFIX)' -f$(MKDEPENDENCIES) \
|
||||
$(NOMD_CFLAGS) $(YOPT) $(DEPEND_SOURCES)
|
||||
@mv $(MKDEPENDENCIES) depend.mk.old && cat depend.mk.old | sed "s|^$(srcdir)/||g" > $(MKDEPENDENCIES) && rm -f depend.mk.old
|
||||
|
||||
$(MKDEPEND):: $(MKDEPEND_DIR)/*.c $(MKDEPEND_DIR)/*.h
|
||||
$(MKDEPEND):: $(MKDEPEND_SRCDIR)/*.c $(MKDEPEND_SRCDIR)/*.h
|
||||
cd $(NSINSTALL_DIR); $(MAKE) nsinstall
|
||||
cd $(MKDEPEND_DIR); $(MAKE)
|
||||
|
||||
ifdef OBJS
|
||||
depend:: $(MKDEPEND) $(MKDEPENDENCIES)
|
||||
depend:: $(SUBMAKEFILES) $(MAKE_DIRS) $(MKDEPEND) $(MKDEPENDENCIES)
|
||||
else
|
||||
depend::
|
||||
endif
|
||||
@@ -943,12 +968,44 @@ dependclean::
|
||||
rm -f $(MKDEPENDENCIES)
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
||||
#-include $(NSINSTALL_DIR)/$(OBJDIR)/depend.mk
|
||||
-include $(MKDEPENDENCIES)
|
||||
|
||||
else
|
||||
depend::
|
||||
endif
|
||||
|
||||
#############################################################################
|
||||
# Yet another depend system: -MD (configure switch: --enable-md)
|
||||
ifdef COMPILER_DEPEND
|
||||
ifdef OBJS
|
||||
# MDDEPDIR is the subdirectory where all the dependency files are placed.
|
||||
# This uses a make rule (instead of a macro) to support parallel
|
||||
# builds (-jN). If this were done in the LOOP_OVER_DIRS macro, two
|
||||
# processes could simultaneously try to create the same directory.
|
||||
#
|
||||
$(MDDEPDIR):
|
||||
@if test ! -d $@; then echo Creating $@; rm -rf $@; mkdir $@; else true; fi
|
||||
|
||||
MDDEPEND_FILES := $(wildcard $(MDDEPDIR)/*.pp)
|
||||
|
||||
ifdef MDDEPEND_FILES
|
||||
ifdef PERL
|
||||
# The script mddepend.pl checks the dependencies and writes to stdout
|
||||
# one rule to force out-of-date objects. For example,
|
||||
# foo.o boo.o: FORCE
|
||||
# The script has an advantage over including the *.pp files directly
|
||||
# because it handles the case when header files are removed from the build.
|
||||
# 'make' would complain that there is no way to build missing headers.
|
||||
$(MDDEPDIR)/.all.pp: FORCE
|
||||
@$(PERL) $(BUILD_TOOLS)/mddepend.pl $@ $(MDDEPEND_FILES)
|
||||
-include $(MDDEPDIR)/.all.pp
|
||||
else
|
||||
include $(MDDEPEND_FILES)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Special gmake rules.
|
||||
################################################################################
|
||||
@@ -958,7 +1015,7 @@ endif
|
||||
# hundreds of built-in suffix rules for stuff we don't need.
|
||||
#
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .out .a .ln .o .obj .c .cc .C .cpp .y .l .s .S .h .sh .i .pl .class .java .html .asm
|
||||
.SUFFIXES: .out .a .ln .o .obj .c .cc .C .cpp .y .l .s .S .h .sh .i .pl .class .java .html .asm .pp .mk .in .mn
|
||||
|
||||
#
|
||||
# Don't delete these files if we get killed.
|
||||
@@ -969,5 +1026,8 @@ endif
|
||||
# Fake targets. Always run these rules, even if a file/directory with that
|
||||
# name already exists.
|
||||
#
|
||||
.PHONY: all all_platforms alltags boot clean clobber clobber_all export install libs program realclean release $(OBJDIR) $(DIRS)
|
||||
.PHONY: all all_platforms alltags boot clean clobber clobber_all export install libs realclean release $(OBJDIR) $(DIRS) FORCE
|
||||
|
||||
# Used as a dependency to force targets to rebuild
|
||||
FORCE:
|
||||
|
||||
|
||||
@@ -77,26 +77,53 @@
|
||||
#######################################################################
|
||||
|
||||
#
|
||||
# CPU_TAG is now defined in the $(TARGET).mk files
|
||||
# At this time, the CPU_TAG value is actually assigned.
|
||||
#
|
||||
|
||||
CPU_TAG =
|
||||
|
||||
#
|
||||
# When the processor is NOT 386-based on Windows NT, override the
|
||||
# value of $(CPU_TAG).
|
||||
#
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ifneq ($(CPU_ARCH),x386)
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Always set CPU_TAG on Linux.
|
||||
#
|
||||
ifeq ($(OS_ARCH), Linux)
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
endif
|
||||
|
||||
#
|
||||
# Always set CPU_TAG on OpenVMS.
|
||||
#
|
||||
ifeq ($(OS_ARCH), OpenVMS)
|
||||
CPU_TAG = _$(CPU_ARCH)
|
||||
endif
|
||||
|
||||
#
|
||||
# At this time, the COMPILER_TAG value is actually assigned.
|
||||
#
|
||||
|
||||
ifndef COMPILER_TAG
|
||||
ifneq ($(DEFAULT_COMPILER), $(notdir $(CC)))
|
||||
#
|
||||
# Temporary define for the Client; to be removed when binary release is used
|
||||
#
|
||||
ifdef MOZILLA_CLIENT
|
||||
COMPILER_TAG =
|
||||
else
|
||||
COMPILER_TAG = _$(notdir $(CC))
|
||||
endif
|
||||
else
|
||||
ifneq ($(DEFAULT_COMPILER), $(CC))
|
||||
COMPILER_TAG = _$(CC)
|
||||
else
|
||||
COMPILER_TAG =
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# At this time, a default value of $(CC) is assigned to MKPROG.
|
||||
#
|
||||
|
||||
ifeq ($(MKPROG),)
|
||||
MKPROG = $(CC)
|
||||
MKPROG = $(CC)
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -104,21 +131,35 @@ endif
|
||||
# objects:
|
||||
# - (1) LIBRARY: a static (archival) library
|
||||
# - (2) SHARED_LIBRARY: a shared (dynamic link) library
|
||||
# - (3) IMPORT_LIBRARY: an import library, defined in $(OS_TARGET).mk
|
||||
# - (3) IMPORT_LIBRARY: an import library, used only on Windows
|
||||
# - (4) PROGRAM: an executable binary
|
||||
#
|
||||
# NOTE: The names of libraries can be generated by simply specifying
|
||||
# LIBRARY_NAME (and LIBRARY_VERSION in the case of non-static libraries).
|
||||
# LIBRARY and SHARED_LIBRARY may be defined differently in $(OS_TARGET).mk
|
||||
#
|
||||
|
||||
ifdef LIBRARY_NAME
|
||||
ifndef LIBRARY
|
||||
LIBRARY = $(OBJDIR)/$(LIB_PREFIX)$(LIBRARY_NAME).$(LIB_SUFFIX)
|
||||
endif
|
||||
ifndef SHARED_LIBRARY
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(DLL_PREFIX)$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).$(DLL_SUFFIX)
|
||||
endif
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
#
|
||||
# Win16 requires library names conforming to the 8.3 rule.
|
||||
# other platforms do not.
|
||||
#
|
||||
LIBRARY = $(OBJDIR)/$(LIBRARY_NAME).lib
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)16$(JDK_DEBUG_SUFFIX).dll
|
||||
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)16$(JDK_DEBUG_SUFFIX).lib
|
||||
else
|
||||
SHARED_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).dll
|
||||
IMPORT_LIBRARY = $(OBJDIR)/$(LIBRARY_NAME)$(LIBRARY_VERSION)32$(JDK_DEBUG_SUFFIX).lib
|
||||
endif
|
||||
else
|
||||
LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME).$(LIB_SUFFIX)
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)_shr$(JDK_DEBUG_SUFFIX).a
|
||||
else
|
||||
SHARED_LIBRARY = $(OBJDIR)/lib$(LIBRARY_NAME)$(LIBRARY_VERSION)$(JDK_DEBUG_SUFFIX).$(DLL_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -126,112 +167,146 @@ endif
|
||||
#
|
||||
|
||||
ifdef PROGRAM
|
||||
PROGRAM := $(addprefix $(OBJDIR)/, $(PROGRAM)$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX))
|
||||
PROGRAM := $(addprefix $(OBJDIR)/, $(PROGRAM)$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX))
|
||||
endif
|
||||
|
||||
ifdef PROGRAMS
|
||||
PROGRAMS := $(addprefix $(OBJDIR)/, $(PROGRAMS:%=%$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX)))
|
||||
PROGRAMS := $(addprefix $(OBJDIR)/, $(PROGRAMS:%=%$(JDK_DEBUG_SUFFIX)$(PROG_SUFFIX)))
|
||||
endif
|
||||
|
||||
ifndef TARGETS
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM)
|
||||
ifeq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(PROGRAM)
|
||||
else
|
||||
TARGETS = $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef OBJS
|
||||
SIMPLE_OBJS = $(JRI_STUB_CFILES) \
|
||||
SIMPLE_OBJS = $(JRI_STUB_CFILES) \
|
||||
$(addsuffix $(OBJ_SUFFIX), $(JMC_GEN)) \
|
||||
$(CSRCS:.c=$(OBJ_SUFFIX)) \
|
||||
$(CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
|
||||
$(ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX)) \
|
||||
$(BUILT_CSRCS:.c=$(OBJ_SUFFIX)) \
|
||||
$(BUILT_CPPSRCS:.cpp=$(OBJ_SUFFIX)) \
|
||||
$(BUILT_ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX))
|
||||
OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
|
||||
$(ASFILES:$(ASM_SUFFIX)=$(OBJ_SUFFIX))
|
||||
OBJS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), $(SIMPLE_OBJS))
|
||||
endif
|
||||
|
||||
ifndef BUILT_SRCS
|
||||
BUILT_SRCS = $(addprefix $(OBJDIR)/$(PROG_PREFIX), \
|
||||
$(BUILT_CSRCS) $(BUILT_CPPSRCS) $(BUILT_ASFILES))
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
comma := ,
|
||||
empty :=
|
||||
space := $(empty) $(empty)
|
||||
W16OBJS := $(subst $(space),$(comma)$(space),$(strip $(OBJS)))
|
||||
W16TEMP = $(OS_LIBS) $(EXTRA_LIBS)
|
||||
ifeq ($(strip $(W16TEMP)),)
|
||||
W16LIBS =
|
||||
else
|
||||
W16LIBS := library $(subst $(space),$(comma)$(space),$(strip $(W16TEMP)))
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
MAKE_OBJDIR = $(INSTALL) -D $(OBJDIR)
|
||||
else
|
||||
define MAKE_OBJDIR
|
||||
if test ! -d $(@D); then rm -rf $(@D); $(NSINSTALL) -D $(@D); fi
|
||||
endef
|
||||
ifeq ($(OS_ARCH),WINNT)
|
||||
ifneq ($(OS_TARGET), WIN16)
|
||||
OBJS += $(RES)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef PACKAGE
|
||||
PACKAGE = .
|
||||
PACKAGE = .
|
||||
endif
|
||||
|
||||
ALL_TRASH := $(TARGETS) $(OBJS) $(OBJDIR) LOGS TAGS $(GARBAGE) \
|
||||
# SUBMAKEFILES: List of Makefiles for next level down.
|
||||
# This is used to update or create the Makefiles before invoking them.
|
||||
ifneq ($(DIRS),)
|
||||
SUBMAKEFILES := $(addsuffix /Makefile, $(filter-out $(STATIC_MAKEFILES), $(DIRS)))
|
||||
endif
|
||||
|
||||
ALL_TRASH = $(TARGETS) $(OBJS)
|
||||
|
||||
ifdef COMPILER_DEPEND
|
||||
ifdef OBJS
|
||||
MAKE_DIRS += $(MDDEPDIR)
|
||||
ALL_TRASH += $(MDDEPDIR)
|
||||
endif
|
||||
endif
|
||||
|
||||
ALL_TRASH += LOGS TAGS $(GARBAGE) \
|
||||
$(NOSUCHFILE) $(JDK_HEADER_CFILES) $(JDK_STUB_CFILES) \
|
||||
$(JRI_HEADER_CFILES) $(JRI_STUB_CFILES) $(JNI_HEADERS) \
|
||||
$(JMC_STUBS) $(JMC_HEADERS) $(JMC_EXPORT_FILES) \
|
||||
so_locations _gen _jmc _jri _jni _stubs \
|
||||
$(wildcard $(JAVA_DESTPATH)/$(PACKAGE)/*.class) \
|
||||
$(BUILT_SRCS)
|
||||
$(JRI_HEADER_CFILES) $(JRI_STUB_CFILES) $(JNI_HEADERS) $(JMC_STUBS) \
|
||||
$(JMC_HEADERS) $(JMC_EXPORT_FILES) so_locations \
|
||||
_gen _jmc _jri _jni _stubs \
|
||||
$(wildcard $(JAVA_DESTPATH)/$(PACKAGE)/*.class)
|
||||
|
||||
ifdef JDIRS
|
||||
ALL_TRASH += $(addprefix $(JAVA_DESTPATH)/,$(JDIRS))
|
||||
ALL_TRASH += $(addprefix $(JAVA_DESTPATH)/,$(JDIRS))
|
||||
endif
|
||||
|
||||
ifdef NSBUILDROOT
|
||||
JDK_GEN_DIR = $(SOURCE_XP_DIR)/_gen
|
||||
JMC_GEN_DIR = $(SOURCE_XP_DIR)/_jmc
|
||||
JNI_GEN_DIR = $(SOURCE_XP_DIR)/_jni
|
||||
JRI_GEN_DIR = $(SOURCE_XP_DIR)/_jri
|
||||
JDK_STUB_DIR = $(SOURCE_XP_DIR)/_stubs
|
||||
JDK_GEN_DIR = $(SOURCE_XP_DIR)/_gen
|
||||
JMC_GEN_DIR = $(SOURCE_XP_DIR)/_jmc
|
||||
JNI_GEN_DIR = $(SOURCE_XP_DIR)/_jni
|
||||
JRI_GEN_DIR = $(SOURCE_XP_DIR)/_jri
|
||||
JDK_STUB_DIR = $(SOURCE_XP_DIR)/_stubs
|
||||
else
|
||||
JDK_GEN_DIR = _gen
|
||||
JMC_GEN_DIR = _jmc
|
||||
JNI_GEN_DIR = _jni
|
||||
JRI_GEN_DIR = _jri
|
||||
JDK_STUB_DIR = _stubs
|
||||
JDK_GEN_DIR = _gen
|
||||
JMC_GEN_DIR = _jmc
|
||||
JNI_GEN_DIR = _jni
|
||||
JRI_GEN_DIR = _jri
|
||||
JDK_STUB_DIR = _stubs
|
||||
endif
|
||||
|
||||
#
|
||||
# If this is an "official" build, try to build everything.
|
||||
# I.e., don't exit on errors.
|
||||
#
|
||||
|
||||
EXIT_ON_ERROR = -e
|
||||
ifdef BUILD_OFFICIAL
|
||||
EXIT_ON_ERROR = +e
|
||||
CLICK_STOPWATCH = date
|
||||
CLICK_STOPWATCH = date
|
||||
else
|
||||
EXIT_ON_ERROR = -e
|
||||
CLICK_STOPWATCH = true
|
||||
CLICK_STOPWATCH = true
|
||||
endif
|
||||
|
||||
ifdef REQUIRES
|
||||
MODULE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/public/, $(REQUIRES))
|
||||
INCLUDES += $(MODULE_INCLUDES)
|
||||
ifeq ($(MODULE), sectools)
|
||||
PRIVATE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/private/, $(REQUIRES))
|
||||
INCLUDES += $(PRIVATE_INCLUDES)
|
||||
endif
|
||||
ifeq ($(OS_TARGET),WIN16)
|
||||
INCLUDES += -I$(SOURCE_XP_DIR)/public/win16
|
||||
else
|
||||
MODULE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/public/, $(REQUIRES))
|
||||
INCLUDES += $(MODULE_INCLUDES)
|
||||
ifeq ($(MODULE), sectools)
|
||||
PRIVATE_INCLUDES := $(addprefix -I$(SOURCE_XP_DIR)/private/, $(REQUIRES))
|
||||
INCLUDES += $(PRIVATE_INCLUDES)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef NSPR_CFLAGS
|
||||
INCLUDES += $(NSPR_CFLAGS)
|
||||
else
|
||||
INCLUDES += -I$(SYSTEM_XP_DIR)/include/nspr
|
||||
endif
|
||||
|
||||
ifdef SYSTEM_INCL_DIR
|
||||
YOPT = -Y$(SYSTEM_INCL_DIR)
|
||||
YOPT = -Y$(SYSTEM_INCL_DIR)
|
||||
endif
|
||||
|
||||
ifdef DIRS
|
||||
LOOP_OVER_DIRS = \
|
||||
@for directory in $(DIRS); do \
|
||||
if test -d $$directory; then \
|
||||
set $(EXIT_ON_ERROR); \
|
||||
echo "cd $$directory; $(MAKE) $@"; \
|
||||
$(MAKE) -C $$directory $@; \
|
||||
set +e; \
|
||||
else \
|
||||
echo "Skipping non-directory $$directory..."; \
|
||||
fi; \
|
||||
$(CLICK_STOPWATCH); \
|
||||
done
|
||||
LOOP_OVER_DIRS = \
|
||||
@for directory in $(DIRS); do \
|
||||
if test -d $$directory; then \
|
||||
set $(EXIT_ON_ERROR); \
|
||||
echo "cd $$directory; $(MAKE) $@"; \
|
||||
$(MAKE) -C $$directory $@; \
|
||||
set +e; \
|
||||
else \
|
||||
echo "Skipping non-directory $$directory..."; \
|
||||
fi; \
|
||||
$(CLICK_STOPWATCH); \
|
||||
done
|
||||
endif
|
||||
|
||||
|
||||
|
||||
# special stuff for tests rule in rules.mk
|
||||
|
||||
ifneq ($(OS_ARCH),WINNT)
|
||||
REGDATE = $(subst \ ,, $(shell perl $(topsrcdir)/$(MODULE)/scripts/now))
|
||||
else
|
||||
REGCOREDEPTH = $(subst \\,/,$(topsrcdir))
|
||||
REGDATE = $(subst \ ,, $(shell perl $(topsrcdir)/$(MODULE)/scripts/now))
|
||||
endif
|
||||
|
||||
MK_RULESET = included
|
||||
|
||||
@@ -39,21 +39,17 @@
|
||||
# <user_source_tree> master import/export directory prefix
|
||||
#
|
||||
|
||||
ifndef SOURCE_PREFIX
|
||||
ifndef BUILD_TREE
|
||||
SOURCE_PREFIX = $(CORE_DEPTH)/../dist
|
||||
else
|
||||
SOURCE_PREFIX = $(BUILD_TREE)/dist
|
||||
endif
|
||||
endif
|
||||
ifdef MOZILLA_CLIENT
|
||||
SOURCE_PREFIX = $(CORE_DEPTH)/../dist
|
||||
else # !MOZILLA_CLIENT
|
||||
SOURCE_PREFIX = $(CORE_DEPTH)/dist
|
||||
endif # MOZILLA_CLIENT
|
||||
|
||||
#
|
||||
# <user_source_tree> cross-platform (xp) master import/export directory
|
||||
#
|
||||
|
||||
ifndef SOURCE_XP_DIR
|
||||
SOURCE_XP_DIR = $(SOURCE_PREFIX)
|
||||
endif
|
||||
SOURCE_XP_DIR = $(SOURCE_PREFIX)
|
||||
|
||||
#
|
||||
# <user_source_tree> cross-platform (xp) import/export directories
|
||||
@@ -65,69 +61,29 @@ SOURCE_XPHEADERS_DIR = $(SOURCE_XP_DIR)/public/$(MODULE)
|
||||
SOURCE_XPPRIVATE_DIR = $(SOURCE_XP_DIR)/private/$(MODULE)
|
||||
|
||||
ifdef BUILD_OPT
|
||||
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DIR)
|
||||
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DIR)
|
||||
else
|
||||
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DBG_DIR)
|
||||
IMPORT_XPCLASS_DIR = $(SOURCE_CLASSES_DBG_DIR)
|
||||
endif
|
||||
|
||||
#
|
||||
# <user_source_tree> machine-dependent (md) master import/export directory
|
||||
#
|
||||
|
||||
ifndef SOURCE_MD_DIR
|
||||
SOURCE_MD_DIR = $(SOURCE_PREFIX)/$(PLATFORM)
|
||||
endif
|
||||
SOURCE_MD_DIR = $(SOURCE_PREFIX)/$(PLATFORM)
|
||||
|
||||
#
|
||||
# <user_source_tree> machine-dependent (md) import/export directories
|
||||
#
|
||||
|
||||
#This is where we install built executables and (for Windows only) DLLs.
|
||||
ifndef SOURCE_BIN_DIR
|
||||
SOURCE_BIN_DIR = $(SOURCE_MD_DIR)/bin
|
||||
endif
|
||||
|
||||
#This is where we install built libraries (.a, .so, .lib).
|
||||
ifndef SOURCE_LIB_DIR
|
||||
SOURCE_LIB_DIR = $(SOURCE_MD_DIR)/lib
|
||||
endif
|
||||
|
||||
# This is where NSPR header files are found.
|
||||
ifndef SOURCE_MDHEADERS_DIR
|
||||
SOURCE_MDHEADERS_DIR = $(SOURCE_MD_DIR)/include
|
||||
endif
|
||||
SOURCE_BIN_DIR = $(SOURCE_MD_DIR)/bin
|
||||
SOURCE_LIB_DIR = $(SOURCE_MD_DIR)/lib
|
||||
SOURCE_MDHEADERS_DIR = $(SOURCE_MD_DIR)/include
|
||||
|
||||
#######################################################################
|
||||
# Master <component>-specific source release directories and files #
|
||||
#######################################################################
|
||||
|
||||
#
|
||||
# <user_source_tree> source-side master release directory prefix
|
||||
# NOTE: export control policy enforced for XP and MD files released to
|
||||
# the staging area
|
||||
#
|
||||
|
||||
ifeq ($(POLICY), domestic)
|
||||
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/domestic
|
||||
else
|
||||
ifeq ($(POLICY), export)
|
||||
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/export
|
||||
else
|
||||
ifeq ($(POLICY), france)
|
||||
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/france
|
||||
else
|
||||
#We shouldn't have to put another directory under here, but without it the perl
|
||||
#script for releasing doesn't find the directory. It thinks it doesn't exist.
|
||||
#So we're adding this no-policy directory so that the script for releasing works
|
||||
#in all casese when policy is not set. This doesn't affect where the final jar
|
||||
#files land, only where they are placed in the local tree when building the jar
|
||||
#files. When there is no policy, the jar files will still land in
|
||||
#<dist>/<module>/<date>/<platform> like they used to.
|
||||
SOURCE_RELEASE_PREFIX = $(SOURCE_PREFIX)/release/no-policy
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# <user_source_tree> cross-platform (xp) source-side master release directory
|
||||
#
|
||||
@@ -151,11 +107,9 @@ XPCLASS_DBG_JAR = xpclass_dbg.jar
|
||||
XPHEADER_JAR = xpheader.jar
|
||||
|
||||
ifdef BUILD_OPT
|
||||
SOURCE_RELEASE_XP_CLASSES_DIR = $(SOURCE_RELEASE_CLASSES_DIR)
|
||||
IMPORT_XPCLASS_JAR = $(XPCLASS_JAR)
|
||||
IMPORT_XPCLASS_JAR = $(XPCLASS_JAR)
|
||||
else
|
||||
SOURCE_RELEASE_XP_CLASSES_DIR = $(SOURCE_RELEASE_CLASSES_DBG_DIR)
|
||||
IMPORT_XPCLASS_JAR = $(XPCLASS_DBG_JAR)
|
||||
IMPORT_XPCLASS_JAR = $(XPCLASS_DBG_JAR)
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -184,7 +138,6 @@ MDHEADER_JAR = mdheader.jar
|
||||
# Where to put the results
|
||||
|
||||
ifneq ($(RESULTS_DIR),)
|
||||
RESULTS_DIR = $(RELEASE_TREE)/sectools/results
|
||||
RESULTS_DIR = $(RELEASE_TREE)/sectools/results
|
||||
endif
|
||||
|
||||
MK_SOURCE = included
|
||||
|
||||
@@ -36,60 +36,88 @@
|
||||
#######################################################################
|
||||
|
||||
#
|
||||
# Object suffixes (OS2 and WIN% override this)
|
||||
# Object suffixes
|
||||
#
|
||||
|
||||
ifndef OBJ_SUFFIX
|
||||
OBJ_SUFFIX = .o
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
OBJ_SUFFIX = .obj
|
||||
else
|
||||
ifeq ($(OS_ARCH), OS2)
|
||||
OBJ_SUFFIX = .obj
|
||||
else
|
||||
OBJ_SUFFIX = .o
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Assembler source suffixes (OS2 and WIN% override this)
|
||||
# Assembler source suffixes
|
||||
#
|
||||
|
||||
ifndef ASM_SUFFIX
|
||||
ASM_SUFFIX = .s
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
ASM_SUFFIX = .asm
|
||||
else
|
||||
ASM_SUFFIX = .s
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Library suffixes
|
||||
#
|
||||
|
||||
STATIC_LIB_EXTENSION =
|
||||
|
||||
ifndef DYNAMIC_LIB_EXTENSION
|
||||
DYNAMIC_LIB_EXTENSION =
|
||||
ifeq ($(OS_ARCH)$(OS_RELEASE), AIX4.1)
|
||||
DYNAMIC_LIB_EXTENSION = _shr
|
||||
else
|
||||
DYNAMIC_LIB_EXTENSION =
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifndef STATIC_LIB_SUFFIX
|
||||
STATIC_LIB_SUFFIX = .$(LIB_SUFFIX)
|
||||
STATIC_LIB_SUFFIX = .$(LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
|
||||
ifndef DYNAMIC_LIB_SUFFIX
|
||||
DYNAMIC_LIB_SUFFIX = .$(DLL_SUFFIX)
|
||||
DYNAMIC_LIB_SUFFIX = .$(DLL_SUFFIX)
|
||||
endif
|
||||
|
||||
# WIN% overridese this
|
||||
|
||||
ifndef IMPORT_LIB_SUFFIX
|
||||
IMPORT_LIB_SUFFIX =
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
IMPORT_LIB_SUFFIX = .$(LIB_SUFFIX)
|
||||
else
|
||||
IMPORT_LIB_SUFFIX =
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
ifndef STATIC_LIB_SUFFIX_FOR_LINKING
|
||||
STATIC_LIB_SUFFIX_FOR_LINKING = $(STATIC_LIB_SUFFIX)
|
||||
STATIC_LIB_SUFFIX_FOR_LINKING = $(STATIC_LIB_SUFFIX)
|
||||
endif
|
||||
|
||||
|
||||
# WIN% overridese this
|
||||
ifndef DYNAMIC_LIB_SUFFIX_FOR_LINKING
|
||||
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(DYNAMIC_LIB_SUFFIX)
|
||||
ifeq ($(OS_ARCH), WINNT)
|
||||
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(IMPORT_LIB_SUFFIX)
|
||||
else
|
||||
DYNAMIC_LIB_SUFFIX_FOR_LINKING = $(DYNAMIC_LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# Program suffixes (OS2 and WIN% override this)
|
||||
# Program suffixes
|
||||
#
|
||||
|
||||
ifndef PROG_SUFFIX
|
||||
PROG_SUFFIX =
|
||||
ifeq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
|
||||
PROG_SUFFIX = .exe
|
||||
else
|
||||
PROG_SUFFIX =
|
||||
endif
|
||||
endif
|
||||
|
||||
MK_SUFFIX = included
|
||||
|
||||
@@ -35,46 +35,56 @@
|
||||
# Master "Core Components" file system "release" prefixes #
|
||||
#######################################################################
|
||||
|
||||
# Windows platforms override this. See WIN32.mk or WIN16.mk.
|
||||
# RELEASE_TREE = $(CORE_DEPTH)/../coredist
|
||||
|
||||
|
||||
ifndef RELEASE_TREE
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(BUILD_SHIP)
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(BUILD_SHIP)
|
||||
else
|
||||
RELEASE_TREE = /share/builds/components
|
||||
endif
|
||||
else
|
||||
RELEASE_TREE = /share/builds/components
|
||||
RELEASE_TREE = /share/builds/components
|
||||
endif
|
||||
else
|
||||
RELEASE_TREE = /share/builds/components
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
# NOTE: export control policy enforced for XP and MD files
|
||||
# released to the binary release tree
|
||||
#
|
||||
|
||||
ifeq ($(POLICY), domestic)
|
||||
RELEASE_XP_DIR = domestic
|
||||
RELEASE_MD_DIR = domestic/$(PLATFORM)
|
||||
else
|
||||
ifeq ($(POLICY), export)
|
||||
RELEASE_XP_DIR = export
|
||||
RELEASE_MD_DIR = export/$(PLATFORM)
|
||||
else
|
||||
ifeq ($(POLICY), france)
|
||||
RELEASE_XP_DIR = france
|
||||
RELEASE_MD_DIR = france/$(PLATFORM)
|
||||
ifeq ($(OS_TARGET), WINNT)
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(NTBUILD_SHIP)
|
||||
else
|
||||
RELEASE_TREE = //hs-sca15c/components
|
||||
endif
|
||||
else
|
||||
RELEASE_TREE = //hs-sca15c/components
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(OS_TARGET), WIN95)
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(NTBUILD_SHIP)
|
||||
else
|
||||
RELEASE_TREE = //hs-sca15c/components
|
||||
endif
|
||||
else
|
||||
RELEASE_TREE = //hs-sca15c/components
|
||||
endif
|
||||
endif
|
||||
ifeq ($(OS_TARGET), WIN16)
|
||||
ifdef BUILD_SHIP
|
||||
ifdef USE_SHIPS
|
||||
RELEASE_TREE = $(NTBUILD_SHIP)
|
||||
else
|
||||
RELEASE_TREE = //hs-sca15c/components
|
||||
endif
|
||||
else
|
||||
RELEASE_XP_DIR =
|
||||
RELEASE_MD_DIR = $(PLATFORM)
|
||||
RELEASE_TREE = //hs-sca15c/components
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
REPORTER_TREE = $(subst \,\\,$(RELEASE_TREE))
|
||||
|
||||
IMPORT_XP_DIR =
|
||||
IMPORT_MD_DIR = $(PLATFORM)
|
||||
|
||||
MK_TREE = included
|
||||
|
||||
@@ -47,15 +47,15 @@ CURRENT_VERSION_SYMLINK = current
|
||||
#
|
||||
|
||||
ifndef VERSION
|
||||
ifdef BUILD_NUM
|
||||
VERSION = $(BUILD_NUM)
|
||||
endif
|
||||
ifdef BUILD_NUM
|
||||
VERSION = $(BUILD_NUM)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef RELEASE_VERSION
|
||||
ifdef BUILD_NUM
|
||||
RELEASE_VERSION = $(BUILD_NUM)
|
||||
endif
|
||||
ifdef BUILD_NUM
|
||||
RELEASE_VERSION = $(BUILD_NUM)
|
||||
endif
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -65,7 +65,7 @@ endif
|
||||
# to $(CURRENT_VERSION_SYMLINK).
|
||||
|
||||
ifndef VERSION
|
||||
VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
endif
|
||||
|
||||
# If RELEASE_VERSION has still NOT been set on the command line,
|
||||
@@ -75,7 +75,7 @@ endif
|
||||
#
|
||||
|
||||
ifndef RELEASE_VERSION
|
||||
RELEASE_VERSION =
|
||||
RELEASE_VERSION =
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -83,23 +83,21 @@ endif
|
||||
#
|
||||
|
||||
ifndef JAVA_VERSION
|
||||
JAVA_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
JAVA_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
endif
|
||||
|
||||
ifndef NETLIB_VERSION
|
||||
NETLIB_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
NETLIB_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
endif
|
||||
|
||||
ifndef NSPR_VERSION
|
||||
NSPR_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
NSPR_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
endif
|
||||
|
||||
ifndef SECTOOLS_VERSION
|
||||
SECTOOLS_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
SECTOOLS_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
endif
|
||||
|
||||
ifndef SECURITY_VERSION
|
||||
SECURITY_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
SECURITY_VERSION = $(CURRENT_VERSION_SYMLINK)
|
||||
endif
|
||||
|
||||
MK_VERSION = included
|
||||
|
||||
@@ -1,168 +0,0 @@
|
||||
#! gmake
|
||||
#
|
||||
# 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 Netscape security libraries.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1994-2000 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the
|
||||
# terms of the GNU General Public License Version 2 or later (the
|
||||
# "GPL"), in which case the provisions of the GPL are applicable
|
||||
# instead of those above. If you wish to allow use of your
|
||||
# version of this file only under the terms of the GPL and not to
|
||||
# allow others to use your version of this file under the MPL,
|
||||
# indicate your decision by deleting the provisions above and
|
||||
# replace them with the notice and other provisions required by
|
||||
# the GPL. If you do not delete the provisions above, a recipient
|
||||
# may use your version of this file under either the MPL or the
|
||||
# GPL.
|
||||
#
|
||||
|
||||
#######################################################################
|
||||
# (1) Include initial platform-independent assignments (MANDATORY). #
|
||||
#######################################################################
|
||||
|
||||
include manifest.mn
|
||||
|
||||
#######################################################################
|
||||
# (2) Include "global" configuration information. (OPTIONAL) #
|
||||
#######################################################################
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/config.mk
|
||||
|
||||
#######################################################################
|
||||
# (3) Include "component" configuration information. (OPTIONAL) #
|
||||
#######################################################################
|
||||
|
||||
|
||||
|
||||
#######################################################################
|
||||
# (4) Include "local" platform-dependent assignments (OPTIONAL). #
|
||||
#######################################################################
|
||||
|
||||
ifeq ($(OS_TARGET),WINCE)
|
||||
DIRS = lib # omit cmd since wince has no command line shell
|
||||
endif
|
||||
|
||||
#######################################################################
|
||||
# (5) Execute "global" rules. (OPTIONAL) #
|
||||
#######################################################################
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
|
||||
#######################################################################
|
||||
# (6) Execute "component" rules. (OPTIONAL) #
|
||||
#######################################################################
|
||||
|
||||
|
||||
|
||||
#######################################################################
|
||||
# (7) Execute "local" rules. (OPTIONAL). #
|
||||
#######################################################################
|
||||
|
||||
nss_build_all: build_coreconf build_nspr build_dbm all
|
||||
|
||||
build_coreconf:
|
||||
cd $(CORE_DEPTH)/coreconf ; $(MAKE)
|
||||
|
||||
NSPR_CONFIG_STATUS = $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME)/config.status
|
||||
NSPR_CONFIGURE = $(CORE_DEPTH)/../nsprpub/configure
|
||||
|
||||
#
|
||||
# Translate coreconf build options to NSPR configure options.
|
||||
#
|
||||
|
||||
ifdef BUILD_OPT
|
||||
NSPR_CONFIGURE_OPTS += --disable-debug --enable-optimize
|
||||
endif
|
||||
ifdef USE_64
|
||||
NSPR_CONFIGURE_OPTS += --enable-64bit
|
||||
endif
|
||||
ifeq ($(OS_TARGET),WIN95)
|
||||
NSPR_CONFIGURE_OPTS += --enable-win32-target=WIN95
|
||||
endif
|
||||
ifdef USE_DEBUG_RTL
|
||||
NSPR_CONFIGURE_OPTS += --enable-debug-rtl
|
||||
endif
|
||||
ifdef NS_USE_GCC
|
||||
NSPR_COMPILERS = CC=gcc CXX=g++
|
||||
endif
|
||||
|
||||
#
|
||||
# Some pwd commands on Windows (for example, the pwd
|
||||
# command in Cygwin) return a pathname that begins
|
||||
# with a (forward) slash. When such a pathname is
|
||||
# passed to Windows build tools (for example, cl), it
|
||||
# is mistaken as a command-line option. If that is the case,
|
||||
# we use a relative pathname as NSPR's prefix on Windows.
|
||||
#
|
||||
|
||||
USEABSPATH="YES"
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
ifeq (,$(findstring :,$(shell pwd)))
|
||||
USEABSPATH="NO"
|
||||
endif
|
||||
endif
|
||||
ifeq ($(USEABSPATH),"YES")
|
||||
NSPR_PREFIX = $(shell pwd)/../../dist/$(OBJDIR_NAME)
|
||||
else
|
||||
NSPR_PREFIX = $$(topsrcdir)/../dist/$(OBJDIR_NAME)
|
||||
endif
|
||||
|
||||
$(NSPR_CONFIG_STATUS): $(NSPR_CONFIGURE)
|
||||
$(NSINSTALL) -D $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME)
|
||||
cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; \
|
||||
$(NSPR_COMPILERS) sh ../configure \
|
||||
$(NSPR_CONFIGURE_OPTS) \
|
||||
--with-dist-prefix='$(NSPR_PREFIX)' \
|
||||
--with-dist-includedir='$(NSPR_PREFIX)/include'
|
||||
|
||||
build_nspr: $(NSPR_CONFIG_STATUS)
|
||||
cd $(CORE_DEPTH)/../nsprpub/$(OBJDIR_NAME) ; $(MAKE)
|
||||
|
||||
build_dbm:
|
||||
cd $(CORE_DEPTH)/dbm ; $(MAKE) export libs
|
||||
|
||||
|
||||
|
||||
moz_import::
|
||||
ifeq (,$(filter-out WIN%,$(OS_TARGET)))
|
||||
$(NSINSTALL) -D $(DIST)/include/nspr
|
||||
cp $(DIST)/../include/nspr/*.h $(DIST)/include/nspr
|
||||
cp $(DIST)/../include/* $(DIST)/include
|
||||
ifdef BUILD_OPT
|
||||
cp $(DIST)/../WIN32_O.OBJ/lib/* $(DIST)/lib
|
||||
else
|
||||
cp $(DIST)/../WIN32_D.OBJ/lib/* $(DIST)/lib
|
||||
endif
|
||||
mv $(DIST)/lib/dbm32.lib $(DIST)/lib/dbm.lib
|
||||
else
|
||||
ifeq ($(OS_TARGET),OS2)
|
||||
cp -rf $(DIST)/../include $(DIST)
|
||||
cp -rf $(DIST)/../lib $(DIST)
|
||||
cp -f $(DIST)/lib/libmozdbm_s.$(LIB_SUFFIX) $(DIST)/lib/libdbm.$(LIB_SUFFIX)
|
||||
else
|
||||
$(NSINSTALL) -L ../../dist include $(DIST)
|
||||
$(NSINSTALL) -L ../../dist lib $(DIST)
|
||||
cp $(DIST)/lib/libmozdbm_s.$(LIB_SUFFIX) $(DIST)/lib/libdbm.$(LIB_SUFFIX)
|
||||
endif
|
||||
endif
|
||||
|
||||
nss_RelEng_bld: build_coreconf import all
|
||||
|
||||
package:
|
||||
$(MAKE) -C pkg publish
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user