let embedding files be configurable
This commit is contained in:
parent
7431eaf71c
commit
10db8b9a2b
|
@ -2,20 +2,13 @@
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
my @files = (
|
|
||||||
'piclib/built-in.scm',
|
|
||||||
'piclib/srfi/1.scm',
|
|
||||||
'piclib/srfi/26.scm',
|
|
||||||
'piclib/srfi/95.scm'
|
|
||||||
);
|
|
||||||
|
|
||||||
print <<EOL;
|
print <<EOL;
|
||||||
#include "picrin.h"
|
#include "picrin.h"
|
||||||
#include "picrin/error.h"
|
#include "picrin/error.h"
|
||||||
|
|
||||||
EOL
|
EOL
|
||||||
|
|
||||||
foreach my $file (@files) {
|
foreach my $file (@ARGV) {
|
||||||
my $var = &escape_v($file);
|
my $var = &escape_v($file);
|
||||||
print "const char *$var =\n";
|
print "const char *$var =\n";
|
||||||
|
|
||||||
|
@ -37,7 +30,7 @@ pic_load_piclib(pic_state *pic)
|
||||||
pic_try {
|
pic_try {
|
||||||
EOL
|
EOL
|
||||||
|
|
||||||
foreach my $file (@files) {
|
foreach my $file (@ARGV) {
|
||||||
my $var = &escape_v($file);
|
my $var = &escape_v($file);
|
||||||
print " pic_load_cstr(pic, $var);\n";
|
print " pic_load_cstr(pic, $var);\n";
|
||||||
}
|
}
|
||||||
|
@ -60,6 +53,6 @@ EOL
|
||||||
sub escape_v {
|
sub escape_v {
|
||||||
($_) = @_;
|
($_) = @_;
|
||||||
s/\.scm$//g;
|
s/\.scm$//g;
|
||||||
s/[\/-]/_/g;
|
s/[^[A-Za-z0-9_]/_/g;
|
||||||
$_;
|
$_;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,11 @@ set(XFILE_SOURCES extlib/xfile/xfile.c)
|
||||||
|
|
||||||
# piclib
|
# piclib
|
||||||
find_package(Perl REQUIRED)
|
find_package(Perl REQUIRED)
|
||||||
|
file(GLOB_RECURSE PICLIB_SCHEME_LIBS ${PROJECT_SOURCE_DIR}/piclib/*.scm)
|
||||||
set(PICLIB_SOURCES ${PROJECT_SOURCE_DIR}/src/load_piclib.c)
|
set(PICLIB_SOURCES ${PROJECT_SOURCE_DIR}/src/load_piclib.c)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${PICLIB_SOURCES}
|
OUTPUT ${PICLIB_SOURCES}
|
||||||
COMMAND ${PERL_EXECUTABLE} etc/mkloader.pl > ${PROJECT_SOURCE_DIR}/src/load_piclib.c
|
COMMAND ${PERL_EXECUTABLE} etc/mkloader.pl ${PICLIBS} > ${PROJECT_SOURCE_DIR}/src/load_piclib.c
|
||||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue