2016-05-06 2 views
1

я в настоящее время выполнены Lighttpd от источникакак компилировать модули LightTPD статический

./configure --prefix=/home/lighttpd \ 
--without-pcre \ 
--without-zlib \ 
--without-bzip2 

Я также попытался -enable статической --disable-общего варианта, но модули еще загружается из каталога Lib

Я хочу для компиляции всего модуля lighttpd в одиночном двоичном файле вместо загрузки из каталога lib, как это сделать?

ответ

2

Поперечный отправленный в https://redmine.lighttpd.net/boards/3/topics/6615

Lighttpd может быть построена статически с помощью SCons или с помощью сделать. Кратко:

SCons:
$ Scons -j 4 build_static = 1 build_dynamic = 0 префикс =/пользовательские/мгн/путь установки

марка:

# редактировать SRC/Makefile.am и в разделе под заголовком «если LIGHTTPD_STATIC», обновление lighttpd_SOURCES с каждого модуля должны быть включены в статической сборке или просто использовать весь список, который уже есть

$ LIGHTTPD_STATIC = да ./configure -C --e Nable статическую = да
$ сделать

Более подробную информацию в https://redmine.lighttpd.net/boards/3/topics/5912

[править] Для того, чтобы построить статически с помощью 'сделать', использование Lighttpd мерзавец мастер филиала или Lighttpd 1.4.40+

0

Скомпилируйте его с флагом -DLIGHTTPD_STATIC. Если GCC будет предупреждать вас о синтаксисе, заставляет интерпретировать GCC в качестве стандарта C99:

make CFLAGS=-DLIGHTTPD_STATIC -std=c99 

Также вы должны изменить SRC/Makefile.in, порожденный Configure для добавления модулей, которые вы хотите включить. В частности, добавить к am__liblightcomp_la_SOURCE_DIST, am__lighttpd_SOURCES_DIST и common_src:

mod_access.c mod_staticfile.c 

А также добавить объекты. Для am__objects_1 и am__objects_2

mod_access.$(OBJEXT) mod_staticfile.$(OBJEXT) 

если SRC/плагин-static.h файл не доступен, изменение SRC/plugin.c файл, найти строки #include "плагин-static.h", Coment его и добавить ниже:

PLUGIN_INIT(mod_access) 
PLUGIN_INIT(mod_staticfile) 
Смежные вопросы