Skip to content

Instantly share code, notes, and snippets.

@syohex
Created September 9, 2012 09:13
Show Gist options
  • Save syohex/3683439 to your computer and use it in GitHub Desktop.
Save syohex/3683439 to your computer and use it in GitHub Desktop.
build tora language implementation
diff --git a/SConstruct b/SConstruct
index 5d32596..add9c67 100644
--- a/SConstruct
+++ b/SConstruct
@@ -51,7 +51,7 @@ if os.name == 'nt':
])
else:
env = Environment(
- LIBS=['re2', 'pthread', 'dl', 'icudata', 'icuuc'],
+ LIBS=['re2', 'pthread', 'dl', 'icudata', 'icuuc', 'boost_program_options-mt'],
LIBPATH=['./'],
CXXFLAGS=['-std=c++0x'],
CPPPATH=[os.path.abspath(x) for x in ['vendor/boost_1_49_0/', 'vendor/re2/', 'tora/']],
[?1034hscons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o tools/lemon/lemon.o -c -O2 tools/lemon/lemon.c
gcc -o tools/lemon/lemon tools/lemon/lemon.o
./tools/lemon/lemon tora/parser.yy
perl tora/token.gen.pl
perl tora/nodes.gen.pl > tora/nodes.gen.h
perl -I misc/Text-MicroTemplate/ tora/vm.gen.pl
g++ -o tora/main.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/main.cc
g++ -o tora/parser.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/parser.cc
perl -I misc/Text-MicroTemplate/ tora/symbols.gen.pl
g++ -o tora/value.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value.cc
g++ -o tora/compiler.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/compiler.cc
g++ -o tora/node.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/node.cc
g++ -o tora/op.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/op.cc
g++ -o tora/vm.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/vm.cc
g++ -o tora/util.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/util.cc
g++ -o tora/symbol_table.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/symbol_table.cc
g++ -o tora/frame.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/frame.cc
g++ -o tora/operator.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/operator.cc
g++ -o tora/builtin.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/builtin.cc
g++ -o tora/object.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object.cc
g++ -o tora/pad_list.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/pad_list.cc
g++ -o tora/printf.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/printf.cc
g++ -o tora/ops.gen.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/ops.gen.cc
g++ -o tora/token.gen.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/token.gen.cc
g++ -o tora/lexer.gen.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/lexer.gen.cc
<stdout>: In member function 'int tora::Scanner::scan(tora::Node**)':
<stdout>:4192:18: warning: variable 'yych' set but not used [-Wunused-but-set-variable]
g++ -o tora/vm.gen.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/vm.gen.cc
g++ -o tora/nodes.gen.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/nodes.gen.cc
g++ -o tora/symbols.gen.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/symbols.gen.cc
g++ -o tora/inspector.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/inspector.cc
g++ -o tora/peek.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/peek.cc
g++ -o tora/disasm.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/disasm.cc
tora/disasm.cc: In static member function 'static void tora::Disasm::disasm(const tora::SharedPtr<tora::OPArray>&)':
tora/disasm.cc:39:56: warning: format '%d' expects argument of type 'int', but argument 2 has type 'size_t {aka long unsigned int}' [-Wformat]
g++ -o tora/value/code.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/code.cc
g++ -o tora/value/hash.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/hash.cc
g++ -o tora/value/str.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/str.cc
g++ -o tora/value/array.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/array.cc
g++ -o tora/value/regexp.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/regexp.cc
g++ -o tora/value/range.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/range.cc
g++ -o tora/value/object.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/object.cc
g++ -o tora/value/int.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/int.cc
g++ -o tora/value/bool.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/bool.cc
g++ -o tora/value/exception.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/exception.cc
g++ -o tora/value/bytes.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/bytes.cc
g++ -o tora/value/class.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/value/class.cc
g++ -o tora/object/str.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/str.cc
g++ -o tora/object/array.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/array.cc
g++ -o tora/object/dir.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/dir.cc
g++ -o tora/object/stat.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/stat.cc
g++ -o tora/object/env.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/env.cc
g++ -o tora/object/time.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/time.cc
g++ -o tora/object/file.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/file.cc
g++ -o tora/object/internals.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/internals.cc
g++ -o tora/object/caller.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/caller.cc
g++ -o tora/object/code.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/code.cc
g++ -o tora/object/symbol.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/symbol.cc
g++ -o tora/object/dynaloader.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/dynaloader.cc
g++ -o tora/object/object.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/object.cc
g++ -o tora/object/class.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/class.cc
g++ -o tora/object/bytes.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/bytes.cc
g++ -o tora/object/regexp.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/regexp.cc
g++ -o tora/object/hash.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/hash.cc
g++ -o tora/object/re2_regexp_matched.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/re2_regexp_matched.cc
g++ -o tora/object/int.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/int.cc
g++ -o tora/object/double.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/double.cc
g++ -o tora/object/metaclass.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/metaclass.cc
g++ -o tora/object/file_package.o -c -std=c++0x -Wall -Wno-sign-compare -fstack-protector -g -fPIC -DNDEBUG -O2 -D_REENTRANT -Ivendor/boost_1_49_0 -Ivendor/re2 -Itora -I/usr/include tora/object/file_package.cc
g++ -o vendor/re2/re2/bitstate.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/bitstate.cc
g++ -o vendor/re2/re2/compile.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/compile.cc
g++ -o vendor/re2/re2/dfa.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/dfa.cc
g++ -o vendor/re2/re2/filtered_re2.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/filtered_re2.cc
g++ -o vendor/re2/re2/mimics_pcre.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/mimics_pcre.cc
g++ -o vendor/re2/re2/nfa.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/nfa.cc
g++ -o vendor/re2/re2/onepass.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/onepass.cc
g++ -o vendor/re2/re2/parse.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/parse.cc
g++ -o vendor/re2/re2/perl_groups.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/perl_groups.cc
g++ -o vendor/re2/re2/prefilter.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/prefilter.cc
g++ -o vendor/re2/re2/prefilter_tree.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/prefilter_tree.cc
g++ -o vendor/re2/re2/prog.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/prog.cc
g++ -o vendor/re2/re2/re2.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/re2.cc
g++ -o vendor/re2/re2/regexp.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/regexp.cc
g++ -o vendor/re2/re2/set.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/set.cc
g++ -o vendor/re2/re2/simplify.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/simplify.cc
g++ -o vendor/re2/re2/tostring.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/tostring.cc
g++ -o vendor/re2/re2/unicode_casefold.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/unicode_casefold.cc
g++ -o vendor/re2/re2/unicode_groups.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/re2/unicode_groups.cc
g++ -o vendor/re2/util/rune.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/util/rune.cc
g++ -o vendor/re2/util/valgrind.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/util/valgrind.cc
g++ -o vendor/re2/util/stringprintf.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/util/stringprintf.cc
g++ -o vendor/re2/util/strutil.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/util/strutil.cc
g++ -o vendor/re2/util/hash.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/util/hash.cc
g++ -o vendor/re2/util/stringpiece.o -c -pthread -Wno-sign-compare -O2 -I./vendor/re2/ -fPIC -Ivendor/re2 vendor/re2/util/stringpiece.cc
ar rc libre2.a vendor/re2/re2/bitstate.o vendor/re2/re2/compile.o vendor/re2/re2/dfa.o vendor/re2/re2/filtered_re2.o vendor/re2/re2/mimics_pcre.o vendor/re2/re2/nfa.o vendor/re2/re2/onepass.o vendor/re2/re2/parse.o vendor/re2/re2/perl_groups.o vendor/re2/re2/prefilter.o vendor/re2/re2/prefilter_tree.o vendor/re2/re2/prog.o vendor/re2/re2/re2.o vendor/re2/re2/regexp.o vendor/re2/re2/set.o vendor/re2/re2/simplify.o vendor/re2/re2/tostring.o vendor/re2/re2/unicode_casefold.o vendor/re2/re2/unicode_groups.o vendor/re2/util/rune.o vendor/re2/util/valgrind.o vendor/re2/util/stringprintf.o vendor/re2/util/strutil.o vendor/re2/util/hash.o vendor/re2/util/stringpiece.o
ranlib libre2.a
ar rc libtora.a tora/parser.o tora/value.o tora/compiler.o tora/node.o tora/op.o tora/vm.o tora/util.o tora/symbol_table.o tora/frame.o tora/operator.o tora/builtin.o tora/object.o tora/pad_list.o tora/printf.o tora/ops.gen.o tora/token.gen.o tora/lexer.gen.o tora/vm.gen.o tora/nodes.gen.o tora/symbols.gen.o tora/inspector.o tora/peek.o tora/disasm.o tora/value/code.o tora/value/hash.o tora/value/str.o tora/value/array.o tora/value/regexp.o tora/value/range.o tora/value/object.o tora/value/int.o tora/value/bool.o tora/value/exception.o tora/value/bytes.o tora/value/class.o tora/object/str.o tora/object/array.o tora/object/dir.o tora/object/stat.o tora/object/env.o tora/object/time.o tora/object/file.o tora/object/internals.o tora/object/caller.o tora/object/code.o tora/object/symbol.o tora/object/dynaloader.o tora/object/object.o tora/object/class.o tora/object/bytes.o tora/object/regexp.o tora/object/hash.o tora/object/re2_regexp_matched.o tora/object/int.o tora/object/double.o tora/object/metaclass.o tora/object/file_package.o libre2.a
ranlib libtora.a
g++ -o bin/tora -Wl,-E -Wl,-Bsymbolic -rdynamic tora/main.o libtora.a libre2.a -L. -L/usr/lib -lre2 -lpthread -licui18n -licuuc -licudata -ldl -lm
tora/main.o: In function `boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::xparse(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) const':
/usr/include/boost/program_options/detail/value_semantic.hpp:169: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)'
tora/main.o: In function `~validation_error':
/usr/include/boost/program_options/errors.hpp:157: undefined reference to `vtable for boost::program_options::validation_error'
/usr/include/boost/program_options/errors.hpp:157: undefined reference to `vtable for boost::program_options::validation_error'
/usr/include/boost/program_options/errors.hpp:157: undefined reference to `vtable for boost::program_options::validation_error'
tora/main.o: In function `validation_error':
/usr/include/boost/program_options/errors.hpp:143: undefined reference to `vtable for boost::program_options::validation_error'
tora/main.o: In function `~validation_error':
/usr/include/boost/program_options/errors.hpp:157: undefined reference to `vtable for boost::program_options::validation_error'
tora/main.o:/usr/include/boost/program_options/errors.hpp:157: more undefined references to `vtable for boost::program_options::validation_error' follow
tora/main.o: In function `~variables_map':
/usr/include/boost/program_options/variables_map.hpp:146: undefined reference to `vtable for boost::program_options::variables_map'
/usr/include/boost/program_options/variables_map.hpp:146: undefined reference to `vtable for boost::program_options::variables_map'
tora/main.o: In function `to_internal<std::basic_string<char> >':
/usr/include/boost/program_options/detail/convert.hpp:79: undefined reference to `boost::program_options::to_internal(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
tora/main.o: In function `basic_command_line_parser':
/usr/include/boost/program_options/detail/parsers.hpp:43: undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)'
tora/main.o: In function `boost::program_options::basic_command_line_parser<char>::run()':
/usr/include/boost/program_options/detail/parsers.hpp:104: undefined reference to `boost::program_options::detail::cmdline::run()'
tora/main.o: In function `boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description const&)':
/usr/include/boost/program_options/detail/parsers.hpp:51: undefined reference to `boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)'
tora/main.o: In function `boost::program_options::basic_command_line_parser<char>::style(int)':
/usr/include/boost/program_options/detail/parsers.hpp:69: undefined reference to `boost::program_options::detail::cmdline::style(int)'
tora/main.o: In function `boost::program_options::basic_command_line_parser<char>::extra_parser(boost::function1<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)':
/usr/include/boost/program_options/detail/parsers.hpp:77: undefined reference to `boost::program_options::detail::cmdline::set_additional_parser(boost::function1<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)'
tora/main.o: In function `main':
/home/syohei/tmp/gomi/tora/tora/main.cc:82: undefined reference to `boost::program_options::options_description::m_default_line_length'
/home/syohei/tmp/gomi/tora/tora/main.cc:82: undefined reference to `boost::program_options::options_description::options_description(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)'
/home/syohei/tmp/gomi/tora/tora/main.cc:84: undefined reference to `boost::program_options::options_description::add_options()'
/home/syohei/tmp/gomi/tora/tora/main.cc:84: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:85: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:86: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:87: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:88: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
tora/main.o:/home/syohei/tmp/gomi/tora/tora/main.cc:89: more undefined references to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)' follow
tora/main.o: In function `main':
/home/syohei/tmp/gomi/tora/tora/main.cc:90: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:91: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:92: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:93: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:95: undefined reference to `boost::program_options::options_description_easy_init::operator()(char const*, char const*)'
/home/syohei/tmp/gomi/tora/tora/main.cc:96: undefined reference to `boost::program_options::variables_map::variables_map()'
/home/syohei/tmp/gomi/tora/tora/main.cc:97: undefined reference to `boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)'
/home/syohei/tmp/gomi/tora/tora/main.cc:98: undefined reference to `boost::program_options::notify(boost::program_options::variables_map&)'
/home/syohei/tmp/gomi/tora/tora/main.cc:101: undefined reference to `boost::program_options::operator<<(std::basic_ostream<char, std::char_traits<char> >&, boost::program_options::options_description const&)'
tora/main.o: In function `operator+<char, std::char_traits<char>, std::allocator<char> >':
/usr/include/c++/4.6/bits/basic_string.h:2346: undefined reference to `boost::program_options::arg'
tora/main.o: In function `boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>::name() const':
/usr/include/boost/program_options/detail/value_semantic.hpp:28: undefined reference to `boost::program_options::arg'
tora/main.o: In function `operator+<char, std::char_traits<char>, std::allocator<char> >':
/usr/include/c++/4.6/bits/basic_string.h:2346: undefined reference to `boost::program_options::arg'
tora/main.o: In function `boost::program_options::typed_value<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, char>::name() const':
/usr/include/boost/program_options/detail/value_semantic.hpp:28: undefined reference to `boost::program_options::arg'
tora/main.o: In function `validation_error':
/usr/include/boost/program_options/errors.hpp:143: undefined reference to `vtable for boost::program_options::validation_error'
/usr/include/boost/program_options/errors.hpp:143: undefined reference to `vtable for boost::program_options::validation_error'
tora/main.o: In function `void boost::program_options::validate<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*, int)':
/usr/include/boost/program_options/detail/value_semantic.hpp:148: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*, int)'
/usr/include/boost/program_options/detail/value_semantic.hpp:152: undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
tora/main.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE[vtable for boost::program_options::typed_value<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, char>]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
tora/main.o:(.data.rel.ro._ZTVN5boost15program_options11typed_valueISscEE[vtable for boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, bool) const'
tora/main.o:(.data.rel.ro._ZTIN5boost15program_options11typed_valueISscEE[typeinfo for boost::program_options::typed_value<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>'
tora/main.o:(.data.rel.ro._ZTIN5boost15program_options11typed_valueISt6vectorISsSaISsEEcEE[typeinfo for boost::program_options::typed_value<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, char>]+0x18): undefined reference to `typeinfo for boost::program_options::value_semantic_codecvt_helper<char>'
tora/main.o:(.data.rel.ro._ZTVN5boost15program_options20invalid_option_valueE[vtable for boost::program_options::invalid_option_value]+0x20): undefined reference to `boost::program_options::validation_error::what() const'
tora/main.o:(.data.rel.ro._ZTIN5boost15program_options20invalid_option_valueE[typeinfo for boost::program_options::invalid_option_value]+0x10): undefined reference to `typeinfo for boost::program_options::validation_error'
tora/main.o:(.data.rel.ro._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[vtable for boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value>]+0x20): undefined reference to `boost::program_options::validation_error::what() const'
tora/main.o:(.data.rel.ro._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[vtable for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> >]+0x20): undefined reference to `boost::program_options::validation_error::what() const'
collect2: ld returned 1 exit status
scons: *** [bin/tora] Error 1
scons: building terminated because of errors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment