• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/apr-32/apr/apr/build/

Lines Matching defs:cmd_data

471 int run_command(command_t *cmd_data, count_chars *cc)
479 if (cmd_data->program) {
480 push_count_chars(&tmpcc, cmd_data->program);
483 append_count_chars(&tmpcc, cmd_data->program_opts);
493 return external_spawn(cmd_data, spawn_args[0], (const char**)spawn_args);
515 void add_runtimedirlib(char *arg, command_t *cmd_data)
518 add_rpath(cmd_data->shared_opts.dependencies, arg);
523 int parse_long_opt(char *arg, command_t *cmd_data)
538 cmd_data->options.silent = 1;
541 cmd_data->mode = mCompile;
542 cmd_data->output = otObject;
546 cmd_data->mode = mLink;
547 cmd_data->output = otLibrary;
551 cmd_data->mode = mInstall;
554 if (cmd_data->mode == mLink) {
555 cmd_data->output = otDynamicLibraryOnly;
557 cmd_data->options.shared = share_SHARED;
559 cmd_data->options.export_all = 1;
562 cmd_data->options.dry_run = 1;
584 int parse_short_opt(char *arg, command_t *cmd_data)
587 cmd_data->options.export_dynamic = 1;
592 cmd_data->output = otModule;
597 if (cmd_data->mode == mLink) {
598 cmd_data->output = otDynamicLibraryOnly;
600 cmd_data->options.shared = share_SHARED;
613 cmd_data->options.pic_mode = pic_PREFER;
618 cmd_data->options.pic_mode = pic_AVOID;
623 cmd_data->options.shared = share_STATIC;
627 if (cmd_data->mode == mLink) {
629 cmd_data->options.no_install = 1;
635 push_count_chars(cmd_data->shared_opts.dependencies, arg);
639 add_runtimedirlib(&arg[1], cmd_data);
1012 void add_dynamic_link_opts(command_t *cmd_data, count_chars *args)
1015 if (cmd_data->options.pic_mode != pic_AVOID) {
1016 if (!cmd_data->options.silent) {
1020 if (cmd_data->undefined_flag) {
1027 if (strcasecmp(cmd_data->undefined_flag,
1029 insert_count_chars(cmd_data->program_opts,
1033 push_count_chars(args, cmd_data->undefined_flag);
1037 if (!cmd_data->options.silent) {
1184 int explode_static_lib(command_t *cmd_data, const char *lib)
1195 if (cmd_data->options.dry_run) {
1207 if (!cmd_data->options.silent) {
1212 push_count_chars(cmd_data->tmp_dirs, tmpdir);
1217 if (!cmd_data->options.silent) {
1238 external_spawn(cmd_data, LIBRARIAN, lib_args);
1256 if (!cmd_data->options.silent) {
1259 push_count_chars(cmd_data->obj_files, name);
1268 int parse_input_file_name(char *arg, command_t *cmd_data)
1297 newarg = check_object_exists(cmd_data, arg, ext - arg);
1302 if (cmd_data->mode != mLink) {
1303 push_count_chars(cmd_data->arglist, newarg);
1306 push_count_chars(cmd_data->obj_files, newarg);
1312 switch (cmd_data->mode) {
1315 newarg = check_library_exists(cmd_data, arg, pathlen, 1, &libtype);
1318 newarg = check_library_exists(cmd_data, arg, pathlen, 0, &libtype);
1331 add_minus_l(cmd_data->shared_opts.dependencies, newarg);
1332 } else if (cmd_data->output == otLibrary &&
1334 explode_static_lib(cmd_data, newarg);
1336 push_count_chars(cmd_data->shared_opts.dependencies, newarg);
1339 if (cmd_data->output == otLibrary && libtype == type_STATIC_LIB) {
1340 explode_static_lib(cmd_data, newarg);
1343 push_count_chars(cmd_data->shared_opts.dependencies, newarg);
1347 if (cmd_data->options.no_install) {
1349 add_rpath_noinstall(cmd_data->shared_opts.dependencies,
1359 add_dylink_noinstall(cmd_data->shared_opts.dependencies,
1366 add_rpath_file(cmd_data->shared_opts.dependencies, arg);
1377 if (cmd_data->output == otLibrary) {
1379 push_count_chars(cmd_data->arglist, arg);
1382 cmd_data->output = otLibrary;
1383 cmd_data->output_name = arg;
1384 cmd_data->static_name.install = gen_install_name(arg, 0);
1385 cmd_data->shared_name.install = gen_install_name(arg, 1);
1386 cmd_data->module_name.install = gen_install_name(arg, 2);
1397 if (cmd_data->basename == NULL) {
1398 cmd_data->basename = (char *)malloc(strlen(arg) + 4);
1399 strcpy(cmd_data->basename, arg);
1400 strcpy(strrchr(cmd_data->basename, '.') + 1, "lo");
1402 cmd_data->fake_output_name = strrchr(cmd_data->basename, '/');
1403 if (cmd_data->fake_output_name) {
1404 cmd_data->fake_output_name++;
1407 cmd_data->fake_output_name = cmd_data->basename;
1415 int parse_output_file_name(char *arg, command_t *cmd_data)
1422 cmd_data->fake_output_name = arg;
1443 cmd_data->basename = arg;
1444 cmd_data->output = otProgram;
1446 cmd_data->options.pic_mode = pic_AVOID;
1455 cmd_data->output_name = newarg;
1463 assert(cmd_data->mode == mLink);
1465 cmd_data->basename = arg;
1466 cmd_data->static_name.normal = gen_library_name(arg, 0);
1467 cmd_data->shared_name.normal = gen_library_name(arg, 1);
1468 cmd_data->module_name.normal = gen_library_name(arg, 2);
1469 cmd_data->static_name.install = gen_install_name(arg, 0);
1470 cmd_data->shared_name.install = gen_install_name(arg, 1);
1471 cmd_data->module_name.install = gen_install_name(arg, 2);
1479 cmd_data->output_name = arg;
1484 cmd_data->basename = arg;
1485 cmd_data->output = otObject;
1490 cmd_data->output_name = newarg;
1497 void parse_args(int argc, char *argv[], command_t *cmd_data)
1509 argused = parse_long_opt(arg + 2, cmd_data);
1512 argused = parse_short_opt(arg + 1, cmd_data);
1520 argused = parse_output_file_name(arg, cmd_data);
1522 if (!cmd_data->options.silent) {
1525 push_count_chars(cmd_data->arglist, arg);
1527 if (!cmd_data->options.silent) {
1530 push_count_chars(cmd_data->arglist, arg);
1534 cmd_data->install_path = argv[++a];
1538 cmd_data->version_info = argv[++a];
1542 cmd_data->version_info = argv[++a];
1553 cmd_data->undefined_flag = argv[++a];
1557 add_runtimedirlib(argv[++a], cmd_data);
1562 argused = parse_input_file_name(arg, cmd_data);
1566 if (!cmd_data->options.silent) {
1569 push_count_chars(cmd_data->arglist, arg);
1576 void generate_def_file(command_t *cmd_data)
1588 if (cmd_data->output_name) {
1589 strcpy(def_file, cmd_data->output_name);
1594 fprintf(hDef, "LIBRARY '%s' INITINSTANCE\n", nameof(cmd_data->output_name));
1599 for (a = 0; a < cmd_data->num_obj_files; a++) {
1600 cmd_size += strlen(cmd_data->obj_files[a]) + 1;
1607 for (a=0; a < cmd_data->num_obj_files; a++) {
1609 strcat(cmd, cmd_data->obj_files[a] );
1619 external_spawn(cmd_data, export_args[0], (const char**)export_args);
1620 cmd_data->arglist[cmd_data->num_args++] = strdup(def_file);
1628 strcat(implib_file, cmd_data->basename);
1640 external_spawn(cmd_data, export_args[0], (const char**)export_args);
1717 void post_parse_fixup(command_t *cmd_data)
1719 switch (cmd_data->mode)
1723 if (cmd_data->options.pic_mode != pic_AVOID) {
1724 push_count_chars(cmd_data->arglist, PIC_FLAG);
1727 if (cmd_data->output_name) {
1728 push_count_chars(cmd_data->arglist, "-o");
1729 push_count_chars(cmd_data->arglist, cmd_data->output_name);
1733 link_fixup(cmd_data);
1736 if (cmd_data->output == otLibrary) {
1737 link_fixup(cmd_data);
1744 if (cmd_data->output == otObject ||
1745 cmd_data->output == otProgram ||
1746 cmd_data->output == otLibrary ||
1747 cmd_data->output == otDynamicLibraryOnly) {
1748 push_count_chars(cmd_data->arglist, "-Zomf");
1752 if (cmd_data->options.shared &&
1753 (cmd_data->output == otObject ||
1754 cmd_data->output == otLibrary ||
1755 cmd_data->output == otDynamicLibraryOnly)) {
1757 push_count_chars(cmd_data->arglist, SHARE_SW);
1762 int run_mode(command_t *cmd_data)
1770 switch (cmd_data->mode)
1773 rv = run_command(cmd_data, cmd_data->arglist);
1783 if (!cmd_data->output_name) {
1784 rv = run_command(cmd_data, cmd_data->arglist);
1789 if (cmd_data->output_name) {
1790 append_count_chars(cctemp, cmd_data->arglist);
1792 cmd_data->output_name,
1794 rv = run_command(cmd_data, cctemp);
1800 if (cmd_data->static_name.install) {
1801 append_count_chars(cctemp, cmd_data->arglist);
1803 cmd_data->static_name.install,
1805 rv = run_command(cmd_data, cctemp);
1827 len1 = strlen(cmd_data->arglist->vals[cmd_data->arglist->num - 1]);
1829 static_lib_name = jlibtool_basename(cmd_data->static_name.install);
1835 cmd_data->arglist->vals[cmd_data->arglist->num - 1],
1841 external_spawn(cmd_data, RANLIB, lib_args);
1846 if (cmd_data->shared_name.install) {
1847 append_count_chars(cctemp, cmd_data->arglist);
1849 cmd_data->shared_name.install,
1851 rv = run_command(cmd_data, cctemp);
1857 if (cmd_data->module_name.install) {
1858 append_count_chars(cctemp, cmd_data->arglist);
1860 cmd_data->module_name.install,
1862 rv = run_command(cmd_data, cctemp);
1870 if (!cmd_data->options.dry_run) {
1875 if (cmd_data->output == otStaticLibraryOnly ||
1876 cmd_data->output == otLibrary) {
1881 cmd_data->program = LIBRARIAN;
1882 push_count_chars(cmd_data->program_opts, LIBRARIAN_OPTS);
1883 push_count_chars(cmd_data->program_opts,
1884 cmd_data->static_name.normal);
1886 rv = run_command(cmd_data, cmd_data->obj_files);
1893 lib_args[1] = cmd_data->static_name.normal;
1895 external_spawn(cmd_data, RANLIB, lib_args);
1899 if (cmd_data->output == otDynamicLibraryOnly ||
1900 cmd_data->output == otModule ||
1901 cmd_data->output == otLibrary) {
1902 cmd_data->program = NULL;
1903 clear_count_chars(cmd_data->program_opts);
1905 append_count_chars(cmd_data->program_opts, cmd_data->arglist);
1906 if (cmd_data->output == otModule) {
1908 push_count_chars(cmd_data->program_opts, MODULE_OPTS);
1912 push_count_chars(cmd_data->program_opts, SHARED_OPTS);
1915 push_count_chars(cmd_data->program_opts,
1916 dynamic_link_version_func(cmd_data->version_info));
1919 add_dynamic_link_opts(cmd_data, cmd_data->program_opts);
1921 rv = run_command(cmd_data, cmd_data->shared_opts.normal);
1926 if (cmd_data->output == otProgram) {
1927 rv = run_command(cmd_data, cmd_data->arglist);
1963 void cleanup_tmp_dirs(command_t *cmd_data)
1967 for (d = 0; d < cmd_data->tmp_dirs->num; d++) {
1968 cleanup_tmp_dir(cmd_data->tmp_dirs->vals[d]);
1972 int ensure_fake_uptodate(command_t *cmd_data)
1977 if (cmd_data->mode == mInstall) {
1980 if (!cmd_data->fake_output_name) {
1985 touch_args[1] = cmd_data->fake_output_name;
1987 return external_spawn(cmd_data, "touch", touch_args);
1991 int add_for_runtime(command_t *cmd_data)
1993 if (cmd_data->mode == mInstall) {
1996 if (cmd_data->output == otDynamicLibraryOnly ||
1997 cmd_data->output == otLibrary) {
1998 FILE *f=fopen(cmd_data->fake_output_name,"w");
2002 fprintf(f,"%s\n", cmd_data->install_path);
2006 return(ensure_fake_uptodate(cmd_data));
2013 command_t cmd_data;
2015 memset(&cmd_data, 0, sizeof(cmd_data));
2017 cmd_data.options.pic_mode = pic_UNKNOWN;
2019 cmd_data.program_opts = (count_chars*)malloc(sizeof(count_chars));
2020 init_count_chars(cmd_data.program_opts);
2021 cmd_data.arglist = (count_chars*)malloc(sizeof(count_chars));
2022 init_count_chars(cmd_data.arglist);
2023 cmd_data.tmp_dirs = (count_chars*)malloc(sizeof(count_chars));
2024 init_count_chars(cmd_data.tmp_dirs);
2025 cmd_data.obj_files = (count_chars*)malloc(sizeof(count_chars));
2026 init_count_chars(cmd_data.obj_files);
2027 cmd_data.dep_rpaths = (count_chars*)malloc(sizeof(count_chars));
2028 init_count_chars(cmd_data.dep_rpaths);
2029 cmd_data.rpaths = (count_chars*)malloc(sizeof(count_chars));
2030 init_count_chars(cmd_data.rpaths);
2031 cmd_data.static_opts.normal = (count_chars*)malloc(sizeof(count_chars));
2032 init_count_chars(cmd_data.static_opts.normal);
2033 cmd_data.shared_opts.normal = (count_chars*)malloc(sizeof(count_chars));
2034 init_count_chars(cmd_data.shared_opts.normal);
2035 cmd_data.shared_opts.dependencies = (count_chars*)malloc(sizeof(count_chars));
2036 init_count_chars(cmd_data.shared_opts.dependencies);
2038 cmd_data.mode = mUnknown;
2039 cmd_data.output = otGeneral;
2041 parse_args(argc, argv, &cmd_data);
2042 post_parse_fixup(&cmd_data);
2044 if (cmd_data.mode == mUnknown) {
2048 rc = run_mode(&cmd_data);
2051 add_for_runtime(&cmd_data);
2054 cleanup_tmp_dirs(&cmd_data);