diff options
Diffstat (limited to 'Build/source/mswin32/newbuild.pl')
-rw-r--r-- | Build/source/mswin32/newbuild.pl | 386 |
1 files changed, 0 insertions, 386 deletions
diff --git a/Build/source/mswin32/newbuild.pl b/Build/source/mswin32/newbuild.pl deleted file mode 100644 index 8b8549f3afa..00000000000 --- a/Build/source/mswin32/newbuild.pl +++ /dev/null @@ -1,386 +0,0 @@ -## newbuild.pl: prepare a TeXLive build -*- Perl -*- -## -## Copyright (C) 2002 Fabrice Popineau <Fabrice.Popineau@supelec.fr> -## derived from the MiKTeX newbuild.pl perl script -## -## This file is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published -## by the Free Software Foundation; either version 2, or (at your -## option) any later version. -## -## This file 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 -## General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this file; if not, write to the Free Software -## Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -## USA. - -use strict; -use Cwd; -use File::Path; -use File::Basename; -use Getopt::Long; -use File::DosGlob 'glob'; - -my $texlivesrcdir; -my $major_version_number; -my $minor_version_number; -my $version_string; -my $patch_number_str; -my $mscver; -my $opt_prefix; -my $opt_help; -my $opt_alpha; -my $opt_beta; -my $opt_offical; -my $opt_debug; -my $opt_tmdir; -my $opt_snapshot; -my $opt_official; -my $release_motto; -my $build_label; -my $build_special_str; -my $build_number; -my $state; -my $beta_number; -my $alpha_number; -my $build_date_str; -my $builder_name_str; -my $computer_name_str; -my $build_date; -my $patch_number; - -&main; -exit (0); - -############################################################################### -## help -############################################################################### - -sub help -{ - print <<EOF; -Usage: newbuild [OPTIONS] - --alpha initialize an alpha build - --beta initialize a beta build - --debug initialize a debug build - --help display this help text and exit - --official initialize an official build - --prefix=DIR install all files in DIR - --tmdir=DIR where Total Texlive is installed - --snapshot initialize a snapshot build -EOF -} - -############################################################################### -## make_version_h -############################################################################### - -sub make_version_h -{ - $version_string = $major_version_number; - - if ($minor_version_number > 0) - { - $version_string .= ".$minor_version_number"; - } - - $version_string .= $patch_number_str; - - if ($build_special_str) - { - $version_string .= " $build_special_str"; - } - - if ($state == 1) - { - $version_string .= " (snapshot build $build_number)"; - } - elsif ($state == 2) - { - $version_string .= " beta $beta_number"; - } - elsif ($state == 3) - { - $version_string .= " alpha $alpha_number"; - } - elsif ($state == 4) - { - $version_string .= " (debug build $build_number)"; - } - - my $version_h_filename = $texlivesrcdir . "./texlive-version.h"; - - open (VERSION_H, ">$version_h_filename"); - - print VERSION_H <<EOF; -/* Made by newbuild.pl; DO NOT EDIT !!! -*- C -*- */ -#ifndef VERSION__9C077E32_49F9_4a99_9A1F_3E4C4DB17C7D__INCLUDED_H_ -#define VERSION__9C077E32_49F9_4a99_9A1F_3E4C4DB17C7D__INCLUDED_H_ -#define TEXLIVE_PRODUCTNAME_STR "TeXLive" -#define TEXLIVE_COMPANYNAME_STR "TeX Users Group" -#define TEXLIVE_BUILD_COMMENT_STR "Build $build_number ($build_label); build date: $build_date_str; machine: $computer_name_str" -#define TEXLIVE_BUILD_DATE $build_date -#define TEXLIVE_BUILDERNAME_STR "$builder_name_str" -#define TEXLIVE_PRIVATEBUILD_STR "Built by $builder_name_str" -#define TEXLIVE_MAJOR_VERSION $major_version_number -#define TEXLIVE_MINOR_VERSION $minor_version_number -#define TEXLIVE_BETA_NUMBER $beta_number -#define TEXLIVE_BETA_NUMBER_STR "$beta_number" -#define TEXLIVE_ALPHA_NUMBER $alpha_number -#define TEXLIVE_ALPHA_NUMBER_STR "$alpha_number" -#define TEXLIVE_PATCH_NUMBER $patch_number -#define TEXLIVE_PATCH_NUMBER_STR "$patch_number_str" -#define TEXLIVE_BUILD_LABEL "$build_label" -#define TEXLIVE_BUILD_NUMBER $build_number -#define TEXLIVE_BUILD_SPECIAL_STR "$build_special_str" -#define TEXLIVE_MAJOR_VERSION_STR "$major_version_number" -#define TEXLIVE_MINOR_VERSION_STR "$minor_version_number" -#define TEXLIVE_BETA_VERSION_STR "$beta_number" -#define TEXLIVE_ALPHA_VERSION_STR "$alpha_number" -#define TEXLIVE_BUILD_NUMBER_STR "$build_number" -#define TEXLIVE_RELEASE_STATE $state -#define TEXLIVE_RELEASE_MOTTO_STR "$release_motto" -#define TEXLIVE_PRODUCTVERSION_STR "$version_string" -#define TEXLIVE_LIBRARYPREFIX_STR "tl$major_version_number$minor_version_number" -#ifndef TEXLIVE_LEGALCOPYRIGHT_STR -#define TEXLIVE_LEGALCOPYRIGHT_STR "Copyright (C) 1996-2003 Fabrice Popineau and the TeX Users Group" -#endif -#ifndef TEXLIVE_LEGALTRADEMARKS_STR -#define TEXLIVE_LEGALTRADEMARKS_STR "" -#endif -#endif -EOF - - close (VERSION_H); -} - -############################################################################### -## update_tpm_files -############################################################################### - -sub update_tpm_files -{ -# my $x; -# foreach $x (glob "tpm\\*.tpm") -# { -# open TPM, $x; -# open TPM_NEW, ">$x.new"; -# while (<TPM>) -# { -# s-<TPM:Version>.*</TPM:Version>-<TPM:Version>$version_string</TPM:Version>-; -# s-<TPM:Date>.*</TPM:Date>-<TPM:Date>$build_date_str</TPM:Date>-; -# print TPM_NEW $_; -# } -# close TPM_NEW; -# close TPM; -# unlink $x; -# rename "$x.new", $x; -# } -} - -############################################################################### -## mscver -############################################################################### - -sub mscver -{ - open MSCVER, ">mscver.c"; - print MSCVER <<EOF; -#include <stdio.h> -void main (void) { printf ("%d", _MSC_VER); } -EOF - close MSCVER; - system "cl /nologo mscver.c"; - $mscver = `mscver`; - unlink ("mscver.c"); - unlink ("mscver.obj"); - unlink ("mscver.exe"); -} - -############################################################################### -## write_paths_ini -############################################################################### - -# sub write_paths_ini -# { -# system "nmake -f texlive.mak configure" -# } - -############################################################################### -## main -############################################################################### - -sub main -{ - unless (GetOptions("alpha" => \$opt_alpha, - "beta" => \$opt_beta, - "help" => \$opt_help, - "official" => \$opt_official, - "prefix=s" => \$opt_prefix, - "tmdir=s" => \$opt_tmdir, - "debug" => \$opt_debug, - "snapshot" => \$opt_snapshot)) - { - print STDERR "Try `newbuild --help'"; - exit (1); - } - - if ($opt_help) - { - help (); - exit (0); - } - - my($ss,$mm,$hh,$mday,$mon,$year) = localtime(); - - $builder_name_str = $ENV{"USERNAME"}; - $computer_name_str = $ENV{"COMPUTERNAME"}; - - my $new_state = -1; - $new_state = 4 if ($opt_debug); - $new_state = 3 if ($opt_alpha); - $new_state = 2 if ($opt_beta); - $new_state = 1 if ($opt_snapshot); - $new_state = 0 if ($opt_official); - - $texlivesrcdir = &dirname(cwd()) . "/texk/msvc"; - - $texlivesrcdir =~ s:/:\\:g; - - my $texlive_inc_filename = $texlivesrcdir . "/texlive.inc"; - - die "$texlive_inc_filename does not exist" unless (-e $texlive_inc_filename); - open (TEXLIVE_INC, $texlive_inc_filename); - - open (TMPFILE, ">xxx"); - $state = -1; - my $last_state = -1; - - mscver (); - - my $timestamp = sprintf("%02d/%02d/%02d %02d:%02d:%02d %s", - $year, $mon+1, $mday, $hh, $mm, $ss, - $ENV{"USERNAME"}); - - while (<TEXLIVE_INC>) - { - if (/^state = ([01234])/) - { - $state = $1; - $state = $new_state if ($new_state >= 0); - print TMPFILE "state = $state\n"; - } - elsif (/^alpha_number = ([0-9]+)/) - { - $alpha_number = $1; - print TMPFILE "alpha_number = $alpha_number\n"; - } - elsif (/^beta_number = ([0-9]+)/) - { - $beta_number = $1; - print TMPFILE "beta_number = $beta_number\n"; - } - elsif (/^release_motto = (.*)/) - { - $release_motto = $1; - print TMPFILE $_; - } - elsif (/^build_label = ([A-Za-z0-9_-]+)/) - { - $build_label = $1; - print TMPFILE $_; - } - elsif (/^build_special_str = ([A-Za-z0-9 ]+)/) - { - $build_special_str = $1; - print TMPFILE $_; - } - elsif (/^(build_number = )([0-9]+)/) - { - $build_number = $2 + 1; - print TMPFILE $1, $build_number, "\n"; - } - elsif (/^build_date = /) - { - $build_date = time (); - print TMPFILE $&, $build_date, "\n"; - } - elsif (/^build_date_str = /) - { - $build_date_str = localtime (); - print TMPFILE $&, $build_date_str . "\n"; - } - elsif (/^texlivesrcdir = /) - { - print TMPFILE $&, $texlivesrcdir . "\n"; - } - elsif (/^prefix = /) - { - if (length($opt_prefix) > 0) - { - print TMPFILE $&, $opt_prefix . "\n"; - } - else - { - print TMPFILE $&, $ENV{"HOMEDRIVE"} . "\\texmf\n"; - } - } - elsif (/^tmdir = /) - { - if (length($opt_tmdir) > 0) - { - print TMPFILE $&, "$opt_tmdir\n"; - } - else - { - print TMPFILE $&, "\$(prefix)\n"; - } - } - elsif (/^mscver = /) - { - print TMPFILE $&, $mscver . "\n"; - } - else - { - if (/^major_version_number = ([0-9]+)/) - { - $major_version_number = $1; - } - elsif (/^minor_version_number = ([0-9]+)/) - { - $minor_version_number = $1; - } - elsif (/^patch_number = ([0-9]+)/) - { - $patch_number = $1; - } - elsif (/^patch_number_str = ([a-z])/) - { - $patch_number_str = $1 - } - else - { - s/Time-stamp:[ \t]+\"(.+)\"/Time-stamp: \"$timestamp\"/; - } - print TMPFILE; - } - } - - close (TEXLIVE_INC); - close (TMPFILE); - unlink ($texlive_inc_filename); - rename ("xxx", $texlive_inc_filename); - - make_version_h (); - - update_tpm_files (); - -# if ($opt_tmdir && $opt_prefix) -# { -# write_paths_ini (); -# } -} |