Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(348)

Unified Diff: gcc/gmp/macos/configure

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gcc/gmp/ltmain.sh ('k') | gcc/gmp/macos/unix2mac » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gcc/gmp/macos/configure
diff --git a/gcc/gmp/macos/configure b/gcc/gmp/macos/configure
deleted file mode 100755
index 783d1e0be16e8e7c954f49056a619762c93ad173..0000000000000000000000000000000000000000
--- a/gcc/gmp/macos/configure
+++ /dev/null
@@ -1,519 +0,0 @@
-#!/usr/bin/perl
-
-# This is a simple configure script for MacOS and MPW.
-# Note that this script can't be run directly from MPW perl
-# because it has the wrong end-of-line characters. See README.
-
-# Copyright 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-#
-# This file is part of the GNU MP Library.
-#
-# The GNU MP Library is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The GNU MP Library is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
-# License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with the GNU MP Library. If not, see http://www.gnu.org/licenses/.
-
-# ***************************** NOTE **************************************
-# This script tries to figure out things about this release but has a hard
-# time doing it. It reads some lines in "configure", "Makefile.am" and
-# "mp*/Makefile.am" and try to guess things. With every new release
-# this script has to be tested.
-# ***************************** NOTE **************************************
-
-use strict;
-
-###########################################################################
-#
-# Platform dependent
-#
-###########################################################################
-
-$/ = "\012" # Input files use Unix end-of-line chars
- if $^O eq 'MacOS';
-
-###########################################################################
-#
-# Constants
-#
-###########################################################################
-
-# Directories to create
-
-my @dirs =
- (
- 'MpfObj',
- 'MpnObj',
- 'MpqObj',
- 'MpzObj',
- 'PrintfObj',
- 'ScanfObj',
- 'CmnObj',
- 'AsmObj',
- 'Asm',
- 'MpfBin',
- 'MpqBin',
- 'MpzBin',
- );
-
-my $cfg; # Will point to %cfg_apple or %cfg_cw
-
-my %cfg_apple =
- (
- 'cc' => 'MrC',
- 'coptions' => ['-ansi on -i : -i :: -i ::mpn:powerpc32 -i ::mpz',
- '-opt speed -inline on'],
- 'link' => 'PPCLink',
- 'linkoptions' => '-sym on -xm library',
- 'tooloptions' => "-t 'MPST' -c 'MPS'",
- 'asm' => 'PPCAsm',
- 'aoptions' => '-sym on',
- 'syslibs' => [
- '"{SharedLibraries}"StdCLib',
- '"{SharedLibraries}"InterfaceLib',
- '"{SharedLibraries}"MathLib',
- '"{PPCLibraries}"StdCRuntime.o',
- '"{PPCLibraries}"PPCCRuntime.o',
- ],
- );
-
-my %cfg_cw =
- (
- 'cc' => 'MWCPPC',
- 'coptions' => [
- '-opt all -w nounusedvar,noextended',
- '-i :: -i ::mpn:powerpc32 -i ::mpz',
- '-sym full',
- ],
- 'link' => 'MWLinkPPC',
- 'linkoptions' => '-sym fullpath -library',
- 'tooloptions' => '-mpwtool',
- 'asm' => 'PPCAsm',
- 'aoptions' => '-sym on',
- 'syslibs' => [
- '"{SharedLibraries}"InterfaceLib',
- '"{MWPPCLibraries}MSL MPWCRuntime.Lib"',
- '"{MWPPCLibraries}MSL C.PPC MPW(NL).Lib"',
- '"{SharedLibraries}"MathLib',
- ],
- );
-
-# We only set the variables that have a value
-my %vars =
- (
- 'BITS_PER_MP_LIMB' => 32,
- 'HAVE_HOST_CPU_FAMILY_power' => 0,
- 'HAVE_HOST_CPU_FAMILY_powerpc' => 1,
- 'GMP_NAIL_BITS' => 0,
- 'DEFN_LONG_LONG_LIMB' => '',
- 'LIBGMP_DLL' => 0,
- );
-
-my $make_in = 'Makefile.in';
-my $make = 'Makefile';
-my $configure = mf("../configure");
-my $configure_in = mf("../configure.in");
-my $config_in = mf("../config.in");
-my $gmp_h = mf('../gmp.h');
-my $gmp_h_in = mf('../gmp-h.in');
-my $mpn_asm_dir = "../mpn/powerpc32";
-my $mpn_gen_dir = "../mpn/generic";
-my $config_h = 'config.h';
-
-my $asm_start = "\ttoc"; # No dot, like ".dot"?
-
-###########################################################################
-#
-# Read command line
-#
-###########################################################################
-
-$cfg = \%cfg_apple; # Default
-
-if (@ARGV and $ARGV[0] =~ /^cw|co/) {
- $cfg = \%cfg_cw;
- $make .= '.cw';
-}
-
-###########################################################################
-#
-# Parse top configure file for mpn files
-#
-###########################################################################
-
-my ($files,$optional,$package,$version) = parse_top_configure($configure);
-my %mpn_objects = map {$_ => 1} (@$files,@$optional);
-my %mpn_optional = map {$_ => 1} @$optional;
-
-###########################################################################
-#
-# Create config.h from ../config.in
-#
-###########################################################################
-
-my @asm_files;
-
-open(CONFIG_IN, $config_in)
- or die "Can't open \"$config_in\"\n";
-open(CONFIG_H, ">$config_h")
- or die "Can't create \"$config_h\"\n";
-
-while (<CONFIG_IN>) {
- chomp;
-
- if (/^\s*#\s*undef\s+HAVE_NATIVE_mpn_(\w+)/ and
- -r mf("$mpn_asm_dir/$1.asm")) {
-
- if (defined delete $mpn_objects{$1}) {
- push(@asm_files, $1);
- print CONFIG_H "\#define HAVE_NATIVE_mpn_$1 1\n";
- } else {
- print STDERR "Warning: Found asm file \"$1\" but no corresponding C file - ignoring\n";
- }
-
- } elsif (/^\s*#\s*undef\s+inline\b/) {
- print CONFIG_H "\#define inline\n";
- } elsif (/^\s*#\s*undef\s+HAVE_STDARG\b/) {
- print CONFIG_H "\#define HAVE_STDARG 1\n";
- } elsif (/^\s*#\s*undef\s+HAVE_STRCHR\b/) {
- print CONFIG_H "\#define HAVE_STRCHR 1\n";
- } elsif (/^\s*#\s*undef\s+HAVE_HOST_CPU_FAMILY_powerpc\b/) {
- print CONFIG_H "\#define HAVE_HOST_CPU_FAMILY_powerpc 1\n";
- } elsif (/^\s*#\s*undef\s+WANT_TMP_NOTREENTRANT\b/) {
- print CONFIG_H "\#define WANT_TMP_NOTREENTRANT 1\n";
- } elsif (/^\s*#\s*undef\s+PACKAGE\b/) {
- print CONFIG_H "\#define PACKAGE \"$package\"\n";
- } elsif (/^\s*#\s*undef\s+VERSION\b/) {
- print CONFIG_H "\#define VERSION \"$version\"\n";
- } elsif (/^\s*#\s*undef\s+STDC_HEADERS\b/) {
- print CONFIG_H "\#define STDC_HEADERS 1\n";
- } else { # Blank line, leave it
- print CONFIG_H "$_\n";
- }
-}
-
-close CONFIG_H;
-close CONFIG_IN;
-
-###########################################################################
-#
-# Create gmp.h from ../gmp-h.in
-#
-###########################################################################
-
-open(GMP_H_IN, $gmp_h_in)
- or die "Can't open \"$gmp_h_in\"\n";
-open(GMP_H, ">$gmp_h")
- or die "Can't create \"$gmp_h\"\n";
-
-while (<GMP_H_IN>) {
- chomp; # Remove whatever ending it was
-
- # Do the variable substitution
-
- s/\@([^\@]+)\@/exists $vars{$1} ? $vars{$1} : ''/ge;
-
- print GMP_H "$_\n";
-}
-
-close GMP_H;
-close GMP_H_IN;
-
-###########################################################################
-#
-# Create directories
-#
-###########################################################################
-
-foreach (@dirs) {
- -d $_ or mkdir $_, 0775
- or die "Can't create directory \"$_\"\n";
-}
-
-###########################################################################
-#
-# Parse the *.asm files found and convert them to MPW format
-#
-###########################################################################
-
-my $file;
-
-foreach $file (@asm_files) {
- my $ifile = mf("$mpn_asm_dir/$file.asm");
- my $ofile = mf("Asm/$file.s");
- my $func;
- my %defs = ();
-
- open(ASM, $ifile)
- or die "Can't read file \"$ifile\"\n";
- open(NEW, ">$ofile")
- or die "Can't create file \"$ofile\"\n";
-
- while (<ASM>) {
- chomp; # Remove whatever ending it was
-
- s/\bdnl\b/;/ or s/\bC\b/;/; # Use ; comments
-
- s/include\s*\(.*?\)//; # Don't use include macro
-
- s/ASM_START\s*\(.*?\)/$asm_start/;
-
- if (s/PROLOGUE\s*\(\s*(.*?)\s*\)/asm_prologue($1)/e) {
- $func = $1;
- }
-
- s/EPILOGUE\s*\(\s*(.*?)\s*\)/asm_epilogue($func)/e;
-
- s/L\(([^)]*)\)/L$1/g; # L() style labels
-
- # register name defines
- if (/\bdefine\(`?([a-zA-Z0-9]+)'?,`?([^')]*)\'?\)/) {
- $defs{$1} = $2;
- $_ = "\n";
- }
- foreach my $i (keys %defs) {
- s/\b\Q$i\E\b/$defs{$i}/g;
- }
-
- s/\n/\x0D/g;
- print NEW "$_\x0D"; # Use MacOS end-of-line character
- }
-
- close ASM;
- close NEW;
-}
-
-
-###########################################################################
-#
-# Parse the Makefile.in and produce the Makefile
-#
-###########################################################################
-
-# Check if we have optional left in C directory
-
-foreach (keys %mpn_objects) {
- delete $mpn_objects{$_}
- if $mpn_optional{$_} and !-r mf("$mpn_gen_dir/$_.c");
-}
-
-my $mpn_objects = join(' ', map {"{MpnObjDir}$_.o"} sort keys %mpn_objects);
-$mpn_objects =~ s/(.{1,66})\s/$1 \xB6\x0D\t/g;
-
-my @asm_objects = @asm_files;
-my @asm_sources = @asm_files;
-
-# Adjust configuration
-
-foreach (keys %{$cfg}) {
- $$cfg{$_} = join(" \xB6\x0D\t\t", @{$$cfg{$_}})
- if ref $$cfg{$_};
-}
-
-my %config =
- (
- 'version' => $version,
- 'package' => $package,
- 'c' => "\xB6",
- 'dep' => "\xC4",
- 'wildcard'=> "\xC5",
- 'asm_objects' =>
- join(" \xB6\x0D\t",map {$_ = "{AsmObjDir}$_.o"} sort @asm_objects),
- 'asm_sources' =>
- join(" \xB6\x0D\t",map {$_ = "{AsmSrcDir}$_.s"} sort @asm_sources),
- 'mpn_objects' => $mpn_objects,
- 'mpz_objects' => what_objects("mpz","../mpz","{MpzObjDir}"),
- 'mpf_objects' => what_objects("mpf","../mpf","{MpfObjDir}"),
- 'mpq_objects' => what_objects("mpq","../mpq","{MpqObjDir}"),
- 'printf_objects' => what_objects("printf","../printf","{PrintfObjDir}"),
- 'scanf_objects' => what_objects("scanf","../scanf","{ScanfObjDir}"),
- 'gmp_objects' => what_objects("gmp","..", "{CmnObjDir}"),
- %{$cfg},
- );
-
-
-open(IN, $make_in)
- or die "Can't read file \"$make_in\"\n";
-open(OUT, ">$make")
- or die "Can't create file \"$make\"\n";
-
-while (<IN>) {
- chomp; # Remove whatever ending it was
-
- # Do the variable substitution
-
- s/\@([^\@]+)\@/exists $config{$1} ? $config{$1} : ''/ge;
-
- print OUT "$_\x0D"; # Use MacOS end-of-line character
-}
-
-close IN;
-close OUT;
-
-###########################################################################
-#
-# Parse the configure.in file to find the mpn files to compile and link
-# Find package name and version
-#
-###########################################################################
-
-sub parse_top_configure {
- my $cfg = shift;
-
- open(CONFIGURE, $cfg)
- or die "Can't open \"$cfg\"\n";
- my $old_eol = $/;
- undef $/;
- my $text = <CONFIGURE>;
- $/ = $old_eol;
- close CONFIGURE;
-
- my ($package) = $text =~ /(?:\n|\r)PACKAGE_NAME\s*=\s*(\S+)/;
- my ($version) = $text =~ /(?:\n|\r)PACKAGE_VERSION\s*=\s*(\S+)/;
-
- my $files = join(' ',$text =~ /(?:\n|\r)gmp_mpn_functions\s*=\s*\"([^\"]+)/);
- $files =~ s/\\/ /g;
- $files =~ s/\$\{?\w*\}?//g;
- my @files = sort split(' ',$files);
-
- $files = join(' ',$text =~ /(?:\n|\r)gmp_mpn_functions_optional\s*=\s*\"([^\"]+)/);
- $files =~ s/\\/ /g;
- $files =~ s/\$\{?\w*\}?//g;
- my @optional = sort split(' ',$files);
-
- @files > 30 or die "Can't find mpn files in \"$cfg\"\n";
- defined $package or die "Can't find package name in \"$cfg\"\n";
- defined $version or die "Can't find version name in \"$cfg\"\n";
- return (\@files,\@optional,$package,$version);
-}
-
-###########################################################################
-#
-# Find the C files for mpz, mpf .....
-#
-###########################################################################
-
-sub what_objects {
- my $part = shift;
- my $srcdir = shift;
- my $dstdir = shift;
-
- my $makefile_am = mf("$srcdir/Makefile.am");
-
- # We look in the Makefile.am file
- open(MAKEFILE_AM, $makefile_am)
- or die "Can't open file \"$makefile_am\"\n";
-
- # I had as short version of this using more advanced
- # regular expressions on the whole file content but
- # MacPerl freezes my Mac every time..... :-(
-
- my $line;
- my $text = '';
-
- while (defined($line = <MAKEFILE_AM>) ) {
- chomp $line;
-
- if ($line =~ s/^lib${part}_la_SOURCES\s*=//) {
- do {
- chomp $line;
- if ($line =~ s/\\\s*$//) {
- $text .= " $line";
- } else {
- $text .= " $line";
- next;
- }
- } while (defined($line = <MAKEFILE_AM>));
- }
-
- if ($line =~ s/^nodist_lib${part}_la_SOURCES\s*=//) {
- do {
- chomp $line;
- if ($line =~ s/\\\s*$//) {
- $text .= " $line";
- } else {
- $text .= " $line";
- last;
- }
- } while (defined($line = <MAKEFILE_AM>));
- }
- }
- close MAKEFILE_AM;
-
- my @ofiles = split(' ',$text);
- @ofiles > 8 or die "Can't find $part files in \"$makefile_am\"\n";
- my $ofiles = join(' ', map {/^(.+)\.c$/ and $_ = "$dstdir$1.o"} @ofiles);
- $ofiles =~ s/(.{1,66})\s/$1 \xB6\x0D\t/g;
-
- return $ofiles;
-}
-
-###########################################################################
-#
-# Assembler
-#
-###########################################################################
-
-sub asm_epilogue {
- my $func = shift;
- return "\tcsect .__g$func\[pr]";
-}
-
-sub asm_prologue {
- my $func = shift;
-
- my $asm = <<HERE;
- EXPORT __g$func\[DS]
- EXPORT .__g$func\[PR]
-
- TC __g$func\[TC], __g$func\[DS]
-
- CSECT __g$func\[DS]
- DC.L .__g$func\[PR]
- DC.L TOC[tc0]
-
- CSECT .__g$func\[PR]
- FUNCTION .__g$func\[PR]
-HERE
- return $asm;
-}
-
-
-###########################################################################
-#
-# Platform dependent filename conversion
-#
-###########################################################################
-
-sub mf {
- my $path = shift;
-
- return $path unless $^O eq 'MacOS';
-
- $path =~ /:/ and die "File name already converted to mac format: $path\n";
-
- if ($path =~ s&^/&&) {
- # Absolute path
- unless ($path =~ s&/&:&g) {
- # This is a drive name
- $path .= ':';
- }
- } else {
- # Relative path
- if ($path =~ s&/&:&g) {
- # Contains slash
- $path = ":$path";
- $path =~ s&\.\.:&:&g;
- } else {
- # Plain file name, no directory part
- }
- }
- return $path;
-}
« no previous file with comments | « gcc/gmp/ltmain.sh ('k') | gcc/gmp/macos/unix2mac » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698