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", "http/web_server_request_scriptable.cpp", "html/html_builder_bind.cpp", "html/html_builder.cpp", "html/paginator.cpp", "html/html_parser.cpp", "html/bbcode_parser.cpp", "html/form_validator.cpp", "html/html_template.cpp", "html/html_template_data.cpp", "html/libs/hoedown/autolink.c", "html/libs/hoedown/buffer.c", "html/libs/hoedown/document.c", "html/libs/hoedown/escape.c", "html/libs/hoedown/html.c", "html/libs/hoedown/html_blocks.c", "html/libs/hoedown/html_smartypants.c", "html/libs/hoedown/stack.c", "html/libs/hoedown/version.c", "html/markdown_renderer.cpp", "nodes/static_pages/static_web_page.cpp", "nodes/static_pages/static_web_page_file.cpp", "nodes/static_pages/static_web_page_folder_files.cpp", "nodes/folder_serve_nodes/browsable_folder_serve_web_page.cpp", "nodes/folder_serve_nodes/folder_serve_web_page.cpp", "nodes/list_page/list_web_page.cpp", "nodes/paged_article/paged_article_web_page.cpp", "nodes/paged_article/paged_articles_web_page.cpp", #"nodes/paged_article/paged_articles_md_index_web_page.cpp", "nodes/redirect/redirect_web_page.cpp", "nodes/redirect/alias_web_page.cpp", ] if env["tools"]: sources.append("html/editor/resource_importer_html_template_data.cpp") sources.append("editor/web_node_editor.cpp") sources.append("editor/web_node_editor_plugin.cpp") sources.append("editor/web_node_editor_web_server.cpp") sources.append("editor/web_node_editor_web_server_request.cpp") if env['module_database_enabled']: sources.append("database/http_session_manager_db.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)