Skip to content

Commit

Permalink
Read bootstrap sources from file
Browse files Browse the repository at this point in the history
because make on Mac OS X has a line length limit in commands
(symptom: "write error")
  • Loading branch information
moritz committed Aug 24, 2014
1 parent c793d80 commit dea7adf
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 44 deletions.
12 changes: 12 additions & 0 deletions Configure.pl
Expand Up @@ -144,6 +144,18 @@
print $MAKEFILE "$t: ", join(' ', map "$_-$t", @prefixes), "\n";
}

for my $target (qw/common_bootstrap_sources/) {
open my $FILELIST, '<', "tools/build/$target"
or die "Cannot read 'tools/build/$target': $!";
my @lines;
while (<$FILELIST>) {
chomp;
push @lines, " $_\\\n";
}
close $FILELIST;
$config{$target} = join '', @lines;
}

fill_template_file('tools/build/Makefile-common.in', $MAKEFILE, %config);

# determine the version of NQP we want
Expand Down
2 changes: 1 addition & 1 deletion tools/build/Makefile-Moar.in
Expand Up @@ -273,7 +273,7 @@ $(PERL6_MOAR): src/main.nqp $(PERL6_G_MOAR) $(PERL6_A_MOAR) $(PERL6_C_MOAR) $(PE
--vmlibs=$(M_PERL6_OPS_DLL)=Rakudo_ops_init src/gen/m-main.nqp

$(PERL6_M_MOAR): $(M_METAMODEL_SOURCES) $(PERL6_OPS_MOAR)
$(M_NQP) $(M_GEN_CAT) $(M_METAMODEL_SOURCES) > src/gen/m-Metamodel.nqp
$(M_NQP) $(M_GEN_CAT) -f tools/build/common_bootstrap_sources > src/gen/m-Metamodel.nqp
$(M_NQP) --target=mbc --output=$(PERL6_M_MOAR) --encoding=utf8 \
src/gen/m-Metamodel.nqp

Expand Down
43 changes: 1 addition & 42 deletions tools/build/Makefile-common.in
Expand Up @@ -16,48 +16,7 @@ BOOTSTRAP_SOURCES = \
src/Perl6/Metamodel/EXPORTHOW.nqp \

COMMON_BOOTSTRAP_SOURCES = \
src/Perl6/Metamodel/Archetypes.nqp \
src/Perl6/Metamodel/Naming.nqp \
src/Perl6/Metamodel/Documenting.nqp \
src/Perl6/Metamodel/Stashing.nqp \
src/Perl6/Metamodel/Versioning.nqp \
src/Perl6/Metamodel/TypePretense.nqp \
src/Perl6/Metamodel/MethodDelegation.nqp \
src/Perl6/Metamodel/BoolificationProtocol.nqp \
src/Perl6/Metamodel/PackageHOW.nqp \
src/Perl6/Metamodel/ModuleHOW.nqp \
src/Perl6/Metamodel/GenericHOW.nqp \
src/Perl6/Metamodel/AttributeContainer.nqp \
src/Perl6/Metamodel/MethodContainer.nqp \
src/Perl6/Metamodel/PrivateMethodContainer.nqp \
src/Perl6/Metamodel/MultiMethodContainer.nqp \
src/Perl6/Metamodel/RoleContainer.nqp \
src/Perl6/Metamodel/MultipleInheritance.nqp \
src/Perl6/Metamodel/DefaultParent.nqp \
src/Perl6/Metamodel/BaseType.nqp \
src/Perl6/Metamodel/C3MRO.nqp \
src/Perl6/Metamodel/MROBasedMethodDispatch.nqp \
src/Perl6/Metamodel/MROBasedTypeChecking.nqp \
src/Perl6/Metamodel/Trusting.nqp \
src/Perl6/Metamodel/Mixins.nqp \
src/Perl6/Metamodel/BUILDPLAN.nqp \
src/Perl6/Metamodel/REPRComposeProtocol.nqp \
src/Perl6/Metamodel/InvocationProtocol.nqp \
src/Perl6/Metamodel/RolePunning.nqp \
src/Perl6/Metamodel/ArrayType.nqp \
src/Perl6/Metamodel/RoleToRoleApplier.nqp \
src/Perl6/Metamodel/ConcreteRoleHOW.nqp \
src/Perl6/Metamodel/CurriedRoleHOW.nqp \
src/Perl6/Metamodel/ParametricRoleHOW.nqp \
src/Perl6/Metamodel/ParametricRoleGroupHOW.nqp \
src/Perl6/Metamodel/RoleToClassApplier.nqp \
src/Perl6/Metamodel/ClassHOW.nqp \
src/Perl6/Metamodel/GrammarHOW.nqp \
src/Perl6/Metamodel/NativeHOW.nqp \
src/Perl6/Metamodel/SubsetHOW.nqp \
src/Perl6/Metamodel/EnumHOW.nqp \
src/Perl6/Metamodel/ContainerDescriptor.nqp \
src/Perl6/Metamodel/Dispatchers.nqp \
@common_bootstrap_sources@

R_SETTING_SRC = src/RESTRICTED.setting

Expand Down
42 changes: 42 additions & 0 deletions tools/build/common_bootstrap_sources
@@ -0,0 +1,42 @@
src/Perl6/Metamodel/Archetypes.nqp
src/Perl6/Metamodel/Naming.nqp
src/Perl6/Metamodel/Documenting.nqp
src/Perl6/Metamodel/Stashing.nqp
src/Perl6/Metamodel/Versioning.nqp
src/Perl6/Metamodel/TypePretense.nqp
src/Perl6/Metamodel/MethodDelegation.nqp
src/Perl6/Metamodel/BoolificationProtocol.nqp
src/Perl6/Metamodel/PackageHOW.nqp
src/Perl6/Metamodel/ModuleHOW.nqp
src/Perl6/Metamodel/GenericHOW.nqp
src/Perl6/Metamodel/AttributeContainer.nqp
src/Perl6/Metamodel/MethodContainer.nqp
src/Perl6/Metamodel/PrivateMethodContainer.nqp
src/Perl6/Metamodel/MultiMethodContainer.nqp
src/Perl6/Metamodel/RoleContainer.nqp
src/Perl6/Metamodel/MultipleInheritance.nqp
src/Perl6/Metamodel/DefaultParent.nqp
src/Perl6/Metamodel/BaseType.nqp
src/Perl6/Metamodel/C3MRO.nqp
src/Perl6/Metamodel/MROBasedMethodDispatch.nqp
src/Perl6/Metamodel/MROBasedTypeChecking.nqp
src/Perl6/Metamodel/Trusting.nqp
src/Perl6/Metamodel/Mixins.nqp
src/Perl6/Metamodel/BUILDPLAN.nqp
src/Perl6/Metamodel/REPRComposeProtocol.nqp
src/Perl6/Metamodel/InvocationProtocol.nqp
src/Perl6/Metamodel/RolePunning.nqp
src/Perl6/Metamodel/ArrayType.nqp
src/Perl6/Metamodel/RoleToRoleApplier.nqp
src/Perl6/Metamodel/ConcreteRoleHOW.nqp
src/Perl6/Metamodel/CurriedRoleHOW.nqp
src/Perl6/Metamodel/ParametricRoleHOW.nqp
src/Perl6/Metamodel/ParametricRoleGroupHOW.nqp
src/Perl6/Metamodel/RoleToClassApplier.nqp
src/Perl6/Metamodel/ClassHOW.nqp
src/Perl6/Metamodel/GrammarHOW.nqp
src/Perl6/Metamodel/NativeHOW.nqp
src/Perl6/Metamodel/SubsetHOW.nqp
src/Perl6/Metamodel/EnumHOW.nqp
src/Perl6/Metamodel/ContainerDescriptor.nqp
src/Perl6/Metamodel/Dispatchers.nqp
14 changes: 13 additions & 1 deletion tools/build/gen-cat.nqp
Expand Up @@ -6,8 +6,20 @@ sub MAIN(*@ARGS) {
my $program := @ARGS.shift;
my $backend := @ARGS.shift;
say("# This file automatically generated by $program\n");
if @ARGS[0] eq '-f' && nqp::elems(@ARGS) >= 2 {
nqp::shift(@ARGS);
my $file := nqp::shift(@ARGS);
my $fh := open($file, :r);
while nqp::readlinefh($fh) -> $line {
if $line ~~ /\S/ {
$line := subst($line, /\s+/, '', :global);
nqp::push(@ARGS, $line);
}
}
close($fh);
}
for @ARGS -> $file {
say("# From $file\n");
say("# From '$file'\n");
my $fh := open($file, :r);
my $in_cond := 0;
my $in_omit := 0;
Expand Down

0 comments on commit dea7adf

Please sign in to comment.