import os Import('env') module_env = env.Clone() sources = [ "register_types.cpp", "file_cache.cpp", "http/csrf_token.cpp", "http/http_server_enums.cpp", "http/http_session.cpp", "http/http_session_manager.cpp", "http/web_node.cpp", "http/web_permission.cpp", "http/web_root.cpp", "http/web_server.cpp", "http/web_server_cookie.cpp", "http/web_server_middleware.cpp", "http/web_server_request.cpp", "html/html_builder_bind.cpp", "html/html_builder.cpp", "html/paginator.cpp", "http_server_simple/http_server_simple.cpp", "http_server_simple/web_server_simple.cpp", "http_server_simple/simple_web_server_request.cpp", "http_server_simple/http_parser.cpp", "http_server_simple/http_writer.cpp", "http_server_simple/http_parser/http_parser.c", "nodes/static_pages/static_page.cpp", "nodes/static_pages/static_page_file.cpp", "nodes/static_pages/static_page_folder_files.cpp", "nodes/folder_serve_nodes/browsable_folder_serve_node.cpp", "nodes/folder_serve_nodes/folder_serve_node.cpp", "nodes/list_page/list_page.cpp", "nodes/paged_article/paged_article.cpp", ] if ARGUMENTS.get('custom_modules_shared', 'no') == 'yes': # Shared lib compilation module_env.Append(CCFLAGS=['-fPIC']) module_env['LIBS'] = [] shared_lib = module_env.SharedLibrary(target='#bin/web', source=sources) shared_lib_shim = shared_lib[0].name.rsplit('.', 1)[0] env.Append(LIBS=[shared_lib_shim]) env.Append(LIBPATH=['#bin']) else: # Static compilation module_env.add_source_files(env.modules_sources, sources)