📄 sconstruct
字号:
# SCons build specification# see http://www.scons.org if you do not have this toolfrom os.path import join# TODO: should use lamda and map to work on python 1.5def path(prefix, list): return [join(prefix, x) for x in list]libtheora_Sources = Split(""" dct_encode.c encode.c encoder_toplevel.c blockmap.c comment.c cpu.c dct.c dct_decode.c decode.c dsp.c frarray.c frinit.c huffman.c idct.c mcomp.c misc_common.c pb.c pp.c quant.c reconstruct.c scan.c toplevel.c""")env = Environment()if env['CC'] == 'gcc': env.Append(CCFLAGS=["-g", "-O2", "-Wall"])# env.Append(CCFLAGS=["-g", "-Wall"])# check for appropriate inline asm supporthost_x86_32_test = """ int main(int argc, char **argv) {#if !defined(__i386__) #error __i386__ not defined#endif return 0; } """def CheckHost_x86_32(context): context.Message('Checking for an x86_32 host...') result = context.TryCompile(host_x86_32_test, '.c') context.Result(result) return resulthost_x86_64_test = """ int main(int argc, char **argv) {#if !defined(__x86_64__) #error __x86_64__ not defined#endif return 0; } """def CheckHost_x86_64(context): context.Message('Checking for an x86_64 host...') result = context.TryCompile(host_x86_64_test, '.c') context.Result(result) return resultconf = Configure(env, custom_tests = { 'CheckHost_x86_32' : CheckHost_x86_32, 'CheckHost_x86_64' : CheckHost_x86_64 })if conf.CheckHost_x86_32(): libtheora_Sources += Split(""" x86_32/dsp_mmx.c x86_32/dsp_mmxext.c x86_32/recon_mmx.c x86_32/fdct_mmx.c """)elif conf.CheckHost_x86_64(): libtheora_Sources += Split(""" x86_64/dsp_mmx.c x86_64/dsp_mmxext.c x86_64/recon_mmx.c x86_64/fdct_mmx.c """)env = conf.Finish()env.Append(CPPPATH=['lib', 'include'])env.Library('theora', path('lib', libtheora_Sources))# example programsexamples = env.Copy()examples.Append(LIBPATH=['.'])examples.Append(LIBS=['theora','vorbisenc','vorbis','ogg']);encex_Sources = Split("""encoder_example.c""")examples.Program('examples/encoder_example', path('examples', encex_Sources))plyex_Sources = Split("""player_example.c""")examples.Append(CPPFLAGS=[Split('-I/usr/include/SDL -D_REENTRANT')])examples.Append(LINKFLAGS=[Split('-L/usr/lib -lSDL -lpthread')])examples.Program('examples/player_example', path('examples', plyex_Sources))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -