annotate lib/swig/swigwin-2.0.11/CCache/debian/patches/06_md.diff @ 2521:8e2022a843d9

.
author a.parshin
date Thu, 09 Oct 2014 19:30:22 +0300
parents b3009adc0e2f
children
rev   line source
1899
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
1 --- ccache.c Mon Sep 13 11:38:30 2004
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
2 +++ ccache.c Thu Jun 21 22:17:32 2007
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
3 @@ -627,6 +627,13 @@ static void process_args(int argc, char
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
4 int found_S_opt = 0;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
5 struct stat st;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
6 char *e;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
7 + /* is gcc being asked to output dependencies? */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
8 + int generating_dependencies = 0;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
9 + /* is the dependency makefile name overridden with -MF? */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
10 + int dependency_filename_specified = 0;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
11 + /* is the dependency makefile target name specified with -MQ or -MF? */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
12 + int dependency_target_specified = 0;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
13 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
14
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
15 stripped_args = args_init(0, NULL);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
16
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
17 @@ -702,6 +709,18 @@ static void process_args(int argc, char
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
18 continue;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
19 }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
20
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
21 + /* These options require special handling, because they
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
22 + behave differently with gcc -E, when the output
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
23 + file is not specified. */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
24 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
25 + if (strcmp(argv[i], "-MD") == 0 || strcmp(argv[i], "-MMD") == 0) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
26 + generating_dependencies = 1;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
27 + } else if (strcmp(argv[i], "-MF") == 0) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
28 + dependency_filename_specified = 1;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
29 + } else if (strcmp(argv[i], "-MQ") == 0 || strcmp(argv[i], "-MT") == 0) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
30 + dependency_target_specified = 1;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
31 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
32 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
33 /* options that take an argument */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
34 {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
35 const char *opts[] = {"-I", "-include", "-imacros", "-iprefix",
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
36 @@ -812,6 +831,41 @@ static void process_args(int argc, char
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
37 }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
38 p[1] = found_S_opt ? 's' : 'o';
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
39 p[2] = 0;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
40 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
41 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
42 + /* If dependencies are generated, configure the preprocessor */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
43 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
44 + if (generating_dependencies && output_file) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
45 + if (!dependency_filename_specified) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
46 + char *default_depfile_name = x_strdup(output_file);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
47 + char *p = strrchr(default_depfile_name, '.');
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
48 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
49 + if (p) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
50 + if (strlen(p) < 2) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
51 + stats_update(STATS_ARGS);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
52 + failed();
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
53 + return;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
54 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
55 + *p = 0;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
56 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
57 + else {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
58 + int len = p - default_depfile_name;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
59 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
60 + p = x_malloc(len + 3);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
61 + strncpy(default_depfile_name, p, len - 1);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
62 + free(default_depfile_name);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
63 + default_depfile_name = p;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
64 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
65 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
66 + strcat(default_depfile_name, ".d");
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
67 + args_add(stripped_args, "-MF");
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
68 + args_add(stripped_args, default_depfile_name);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
69 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
70 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
71 + if (!dependency_target_specified) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
72 + args_add(stripped_args, "-MT");
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
73 + args_add(stripped_args, output_file);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
74 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
75 }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
76
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
77 /* cope with -o /dev/null */