22#if !defined(__MINGW32__)
31# define SHELL_CMD "sh"
32# define GEN_EXPORTS "emxexp"
33# define DEF2IMPLIB_CMD "emximp"
34# define SHARE_SW "-Zdll -Zmtd"
36# define TRUNCATE_DLL_NAME
37# define DYNAMIC_LIB_EXT "dll"
38# define EXE_EXT ".exe"
42# define STATIC_LIB_EXT "lib"
43# define OBJECT_EXT "obj"
44# define LIBRARIAN "emxomfar"
45# define LIBRARIAN_OPTS "cr"
48# define STATIC_LIB_EXT "a"
49# define OBJECT_EXT "o"
50# define LIBRARIAN "ar"
51# define LIBRARIAN_OPTS "cr"
56# define SHELL_CMD "/bin/sh"
57# define DYNAMIC_LIB_EXT "dylib"
58# define MODULE_LIB_EXT "bundle"
59# define STATIC_LIB_EXT "a"
60# define OBJECT_EXT "o"
61# define LIBRARIAN "ar"
62# define LIBRARIAN_OPTS "cr"
64# define RANLIB "ranlib"
65# define PIC_FLAG "-fPIC -fno-common"
66# define SHARED_OPTS "-dynamiclib"
67# define MODULE_OPTS "-bundle -dynamic"
68# define DYNAMIC_LINK_OPTS "-flat_namespace"
69# define DYNAMIC_LINK_UNDEFINED "-undefined suppress"
70# define dynamic_link_version_func darwin_dynamic_link_function
71# define DYNAMIC_INSTALL_NAME "-install_name"
72# define DYNAMIC_LINK_NO_INSTALL "-dylib_file"
75# define LD_LIBRARY_PATH "DYLD_LIBRARY_PATH"
78#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
79# define SHELL_CMD "/bin/sh"
80# define DYNAMIC_LIB_EXT "so"
81# define MODULE_LIB_EXT "so"
82# define STATIC_LIB_EXT "a"
83# define OBJECT_EXT "o"
84# define LIBRARIAN "ar"
85# define LIBRARIAN_OPTS "cr"
86# define RANLIB "ranlib"
87# define PIC_FLAG "-fPIC"
88# define RPATH "-rpath"
89# define SHARED_OPTS "-shared"
90# define MODULE_OPTS "-shared"
91# define DYNAMIC_LINK_OPTS "-export-dynamic"
92# define LINKER_FLAG_PREFIX "-Wl,"
94# define LD_RUN_PATH "LD_RUN_PATH"
95# define LD_LIBRARY_PATH "LD_LIBRARY_PATH"
99# define SHELL_CMD "/bin/sh"
100# define DYNAMIC_LIB_EXT "so"
101# define MODULE_LIB_EXT "so"
102# define STATIC_LIB_EXT "a"
103# define OBJECT_EXT "o"
104# define LIBRARIAN "ar"
105# define LIBRARIAN_OPTS "cr"
106# define RANLIB "ranlib"
107# define PIC_FLAG "-KPIC"
109# define SHARED_OPTS "-G"
110# define MODULE_OPTS "-G"
111# define DYNAMIC_LINK_OPTS ""
112# define LINKER_FLAG_NO_EQUALS
115# define LD_RUN_PATH "LD_RUN_PATH"
116# define LD_LIBRARY_PATH "LD_LIBRARY_PATH"
119#if defined(_OSD_POSIX)
120# define SHELL_CMD "/usr/bin/sh"
121# define DYNAMIC_LIB_EXT "so"
122# define MODULE_LIB_EXT "so"
123# define STATIC_LIB_EXT "a"
124# define OBJECT_EXT "o"
125# define LIBRARIAN "ar"
126# define LIBRARIAN_OPTS "cr"
127# define SHARED_OPTS "-G"
128# define MODULE_OPTS "-G"
129# define LINKER_FLAG_PREFIX "-Wl,"
130# define NEED_SNPRINTF
133#if defined(sinix) && defined(mips) && defined(__SNI_TARG_UNIX)
134# define SHELL_CMD "/usr/bin/sh"
135# define DYNAMIC_LIB_EXT "so"
136# define MODULE_LIB_EXT "so"
137# define STATIC_LIB_EXT "a"
138# define OBJECT_EXT "o"
139# define LIBRARIAN "ar"
140# define LIBRARIAN_OPTS "cr"
141# define RPATH "-Brpath"
142# define SHARED_OPTS "-G"
143# define MODULE_OPTS "-G"
144# define DYNAMIC_LINK_OPTS "-Wl,-Blargedynsym"
145# define LINKER_FLAG_PREFIX "-Wl,"
146# define NEED_SNPRINTF
147# define LD_RUN_PATH "LD_RUN_PATH"
148# define LD_LIBRARY_PATH "LD_LIBRARY_PATH"
151#if defined(__MINGW32__)
152# define SHELL_CMD "sh"
153# define DYNAMIC_LIB_EXT "dll"
154# define MODULE_LIB_EXT "dll"
155# define STATIC_LIB_EXT "a"
156# define OBJECT_EXT "o"
157# define LIBRARIAN "ar"
158# define LIBRARIAN_OPTS "cr"
159# define RANLIB "ranlib"
160# define LINKER_FLAG_PREFIX "-Wl,"
161# define SHARED_OPTS "-shared"
162# define MODULE_OPTS "-shared"
163# define MKDIR_NO_UMASK
164# define EXE_EXT ".exe"
168#error Unsupported platform: Please add defines for SHELL_CMD etc. for your platform.
285#if defined(NEED_SNPRINTF)
298 f =
fopen(
"/dev/null",
"w");
332 for (
i = 0;
i < cc->
num;
i++) {
377 for (
i = 0;
i < cc->
num;
i++) {
389 for (
i = 0;
i < cc->
num;
i++) {
406 const unsigned char *
s;
409 d = (
unsigned char *)
cmd;
410 s = (
const unsigned char *)
str;
421 else if (*
s ==
'\\' || (*
s ==
' ' && (
in_quote % 2))) {
437 if (!
cmd->options.silent) {
447 if (
cmd->options.dry_run) {
450#if defined(__EMX__) || defined(__MINGW32__)
505#ifdef LD_LIBRARY_PATH
558 }
else if (
strcmp(
var,
"export-all") == 0) {
560 }
else if (
strcmp(
var,
"dry-run") == 0) {
561 printf(
"Dry-run mode on!\n");
563 }
else if (
strcmp(
var,
"version") == 0) {
566 printf(
"Sorry. No help available.\n");
586 if (
strcmp(
arg,
"export-dynamic") == 0) {
617 if (
strcmp(
arg,
"prefer-non-pic") == 0) {
632 if (
arg[0] ==
'L' ||
arg[0] ==
'l') {
637 }
else if (
arg[0] ==
'R' &&
arg[1]) {
742 long major, minor, patch;
749 major =
safe_strtol(version_info, &version_info, 10);
752 if (version_info[0] ==
':') {
756 minor =
safe_strtol(version_info, &version_info, 10);
759 if (version_info[0] ==
':') {
763 patch =
safe_strtol(version_info, &version_info, 10);
775 "-compatibility_version %ld -current_version %ld.%ld",
776 major, major, minor);
872 if (!
cmd->options.silent) {
877 while (rv != 0 && ++
pass < 1);
944 if (!
cmd->options.silent) {
949 while (rv != 0 && ++
pass < 4);
977 if (
path[0] !=
'/') {
1014#ifdef DYNAMIC_LINK_OPTS
1022#if defined(__APPLE__)
1028 "dynamic_lookup") == 0) {
1030 "MACOSX_DEPLOYMENT_TARGET=10.3", 0);
1036#ifdef DYNAMIC_LINK_UNDEFINED
1054#ifdef LINKER_FLAG_PREFIX
1062#ifdef LINKER_FLAG_PREFIX
1068#ifndef LINKER_FLAG_NO_EQUALS
1097#ifdef DYNAMIC_LINK_NO_INSTALL
1114 i_p_len = strlen(install_path);
1118 name_len =
extlen-pathlen;
1130 cur_len += name_len;
1138 cur_len += name_len;
1173#ifndef LINKER_FLAG_PREFIX
1218 printf(
"Warning: could not explode %s\n",
lib);
1223 if (
lib[0] ==
'/') {
1244#if defined(__APPLE__) && defined(RANLIB)
1249 if (
strstr(entry->d_name,
"__.SYMDEF") !=
NULL) {
1253 if (entry->d_name[0] !=
'.') {
1299 printf(
"Can not find suitable object file for %s\n",
arg);
1312 switch (cmd_data->
mode) {
1320 printf(
"Can not find suitable library for %s\n",
arg);
1352#ifdef DYNAMIC_LINK_NO_INSTALL
1378 arg[pathlen] =
'\0';
1445#if defined(_OSD_POSIX)
1473#ifdef TRUNCATE_DLL_NAME
1507 if (
arg[0] ==
'-') {
1508 if (
arg[1] ==
'-') {
1518 if (
arg[1] ==
'o' && !
arg[2]) {
1532 }
else if (
strcmp(
arg+1,
"rpath") == 0) {
1536 }
else if (
strcmp(
arg+1,
"release") == 0) {
1540 }
else if (
strcmp(
arg+1,
"version-info") == 0) {
1544 }
else if (
strcmp(
arg+1,
"export-symbols-regex") == 0) {
1548 }
else if (
strcmp(
arg+1,
"release") == 0) {
1552 }
else if (
strcmp(
arg+1,
"undefined") == 0) {
1555 }
else if (
arg[1] ==
'R' && !
arg[2]) {
1599 for (
a = 0;
a < cmd_data->num_obj_files;
a++) {
1607 for (
a=0;
a < cmd_data->num_obj_files;
a++) {
1681#ifdef DYNAMIC_INSTALL_NAME
1694 if (
c->options.export_all) {
1707 if (
c->output_name) {
1719 switch (cmd_data->
mode)
1770 switch (cmd_data->
mode)
1809#if defined(__APPLE__) && defined(RANLIB)
1914#ifdef dynamic_link_version_func
1952 if (entry->d_name[0] !=
'.') {
2015 memset(&cmd_data, 0,
sizeof(cmd_data));
const char apr_size_t len
char * strstr(char *s1, char *s2)
char * strdup(const char *str)
apr_size_t const unsigned char unsigned int unsigned int d
request_rec int int apr_table_t const char * path
apr_bucket apr_bucket_brigade * a
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
const char apr_file_t * file
int strcasecmp(const char *a, const char *b)
apr_vformatter_buff_t const char * fmt
apr_vformatter_buff_t * c
apr_vformatter_buff_t const char va_list ap
const char const char *const * args
static apr_status_t command(sed_eval_t *eval, sed_reptr_t *ipc, step_vars_storage *step_vars)
const char * version_info
const char * undefined_flag
const char * install_path
count_chars * program_opts
count_chars * dependencies
enum shared_mode_e shared
int waitpid(pid_t pid, int *statusp, int options)