Mercurial > octave-nkf
comparison octave-config.cc.in @ 8092:6a292b0fa88c
mkoctfile.cc.in, octave-config.cc.in, octave-bug.cc.in: style fixes
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 08 Sep 2008 16:01:08 -0400 |
parents | 4e7527a7b3f9 |
children | eb63fbe60fab |
comparison
equal
deleted
inserted
replaced
8091:4e7527a7b3f9 | 8092:6a292b0fa88c |
---|---|
50 " LIBEXECDIR VERSION\n" | 50 " LIBEXECDIR VERSION\n" |
51 "\n" | 51 "\n" |
52 " -v, --version Print the Octave version number.\n" | 52 " -v, --version Print the Octave version number.\n" |
53 "\n"; | 53 "\n"; |
54 | 54 |
55 static std::string substitute_prefix(const std::string& s, const std::string& prefix, const std::string new_prefix) | 55 static std::string |
56 substitute_prefix (const std::string& s, const std::string& prefix, | |
57 const std::string new_prefix) | |
56 { | 58 { |
57 std::string retval = s; | 59 std::string retval = s; |
58 | 60 |
59 if (!prefix.empty() && new_prefix != prefix) | 61 if (!prefix.empty () && new_prefix != prefix) |
60 { | 62 { |
61 int len = prefix.length(); | 63 int len = prefix.length (); |
62 if (retval.find(prefix) == 0) | 64 if (retval.find (prefix) == 0) |
63 retval.replace(0, len, new_prefix); | 65 retval.replace (0, len, new_prefix); |
64 } | 66 } |
65 | 67 |
66 #if defined (__WIN32__) && ! defined (_POSIX_VERSION) | 68 #if defined (__WIN32__) && ! defined (_POSIX_VERSION) |
67 std::replace(retval.begin(), retval.end(), '/', '\\'); | 69 std::replace (retval.begin (), retval.end (), '/', '\\'); |
68 #endif | 70 #endif |
69 | 71 |
70 return retval; | 72 return retval; |
71 } | 73 } |
72 | 74 |
73 static void initialize(void) | 75 static void |
76 initialize (void) | |
74 { | 77 { |
75 if (initialized) | 78 if (initialized) |
76 return; | 79 return; |
77 | 80 |
78 initialized = true; | 81 initialized = true; |
79 | 82 |
80 const char *homestr = getenv("OCTAVE_HOME"); | 83 const char *homestr = getenv ("OCTAVE_HOME"); |
81 OCTAVE_HOME = (homestr ? homestr : ""); | 84 OCTAVE_HOME = (homestr ? homestr : ""); |
82 PREFIX = %OCTAVE_PREFIX%; | 85 PREFIX = %OCTAVE_PREFIX%; |
83 | 86 |
84 #if defined (__WIN32__) && ! defined (_POSIX_VERSION) | 87 #if defined (__WIN32__) && ! defined (_POSIX_VERSION) |
85 int n = 1024; | 88 int n = 1024; |
86 | 89 |
87 std::string bin_dir (n, '\0'); | 90 std::string bin_dir (n, '\0'); |
88 | 91 |
89 while (true) | 92 while (true) |
90 { | 93 { |
91 int status = GetModuleFileName (0, &bin_dir[0], n); | 94 int status = GetModuleFileName (0, &bin_dir[0], n); |
92 | 95 |
93 if (status < n) | 96 if (status < n) |
94 { | 97 { |
95 bin_dir.resize (status); | 98 bin_dir.resize (status); |
96 break; | 99 break; |
97 } | 100 } |
98 else | 101 else |
99 { | 102 { |
100 n *= 2; | 103 n *= 2; |
101 bin_dir.resize (n); | 104 bin_dir.resize (n); |
102 } | 105 } |
103 } | 106 } |
104 | 107 |
105 if (! bin_dir.empty ()) | 108 if (! bin_dir.empty ()) |
106 { | 109 { |
107 size_t pos = bin_dir.rfind ("\\bin\\"); | 110 size_t pos = bin_dir.rfind ("\\bin\\"); |
108 | 111 |
109 if (pos != std::string::npos) | 112 if (pos != std::string::npos) |
110 OCTAVE_HOME = bin_dir.substr (0, pos); | 113 OCTAVE_HOME = bin_dir.substr (0, pos); |
111 } | 114 } |
112 #endif | 115 #endif |
113 | 116 |
114 vars["API_VERSION"] = %OCTAVE_API_VERSION%; | 117 vars["API_VERSION"] = %OCTAVE_API_VERSION%; |
115 vars["CANONICAL_HOST_TYPE"] = %OCTAVE_CANONICAL_HOST_TYPE%; | 118 vars["CANONICAL_HOST_TYPE"] = %OCTAVE_CANONICAL_HOST_TYPE%; |
116 vars["DEFAULT_PAGER"] = %OCTAVE_DEFAULT_PAGER%; | 119 vars["DEFAULT_PAGER"] = %OCTAVE_DEFAULT_PAGER%; |
117 vars["ARCHLIBDIR"] = substitute_prefix (%OCTAVE_ARCHLIBDIR%, PREFIX, OCTAVE_HOME); | 120 vars["ARCHLIBDIR"] = substitute_prefix (%OCTAVE_ARCHLIBDIR%, PREFIX, OCTAVE_HOME); |
118 vars["BINDIR"] = substitute_prefix (%OCTAVE_BINDIR%, PREFIX, OCTAVE_HOME); | 121 vars["BINDIR"] = substitute_prefix (%OCTAVE_BINDIR%, PREFIX, OCTAVE_HOME); |
119 vars["DATADIR"] =substitute_prefix (%OCTAVE_DATADIR%, PREFIX, OCTAVE_HOME); | 122 vars["DATADIR"] =substitute_prefix (%OCTAVE_DATADIR%, PREFIX, OCTAVE_HOME); |
120 vars["DATAROOTDIR"] =substitute_prefix (%OCTAVE_DATAROOTDIR%, PREFIX, OCTAVE_HOME); | 123 vars["DATAROOTDIR"] =substitute_prefix (%OCTAVE_DATAROOTDIR%, PREFIX, OCTAVE_HOME); |
121 vars["EXEC_PREFIX"] =substitute_prefix (%OCTAVE_EXEC_PREFIX%, PREFIX, OCTAVE_HOME); | 124 vars["EXEC_PREFIX"] =substitute_prefix (%OCTAVE_EXEC_PREFIX%, PREFIX, OCTAVE_HOME); |
122 vars["FCNFILEDIR"] =substitute_prefix (%OCTAVE_FCNFILEDIR%, PREFIX, OCTAVE_HOME); | 125 vars["FCNFILEDIR"] =substitute_prefix (%OCTAVE_FCNFILEDIR%, PREFIX, OCTAVE_HOME); |
123 vars["IMAGEDIR"] =substitute_prefix (%OCTAVE_IMAGEDIR%, PREFIX, OCTAVE_HOME); | 126 vars["IMAGEDIR"] =substitute_prefix (%OCTAVE_IMAGEDIR%, PREFIX, OCTAVE_HOME); |
124 vars["INCLUDEDIR"] =substitute_prefix (%OCTAVE_INCLUDEDIR%, PREFIX, OCTAVE_HOME); | 127 vars["INCLUDEDIR"] =substitute_prefix (%OCTAVE_INCLUDEDIR%, PREFIX, OCTAVE_HOME); |
125 vars["INFODIR"] =substitute_prefix (%OCTAVE_INFODIR%, PREFIX, OCTAVE_HOME); | 128 vars["INFODIR"] =substitute_prefix (%OCTAVE_INFODIR%, PREFIX, OCTAVE_HOME); |
126 vars["INFOFILE"] =substitute_prefix (%OCTAVE_INFOFILE%, PREFIX, OCTAVE_HOME); | 129 vars["INFOFILE"] =substitute_prefix (%OCTAVE_INFOFILE%, PREFIX, OCTAVE_HOME); |
127 vars["LIBDIR"] =substitute_prefix (%OCTAVE_LIBDIR%, PREFIX, OCTAVE_HOME); | 130 vars["LIBDIR"] =substitute_prefix (%OCTAVE_LIBDIR%, PREFIX, OCTAVE_HOME); |
128 vars["LIBEXECDIR"] =substitute_prefix (%OCTAVE_LIBEXECDIR%, PREFIX, OCTAVE_HOME); | 131 vars["LIBEXECDIR"] =substitute_prefix (%OCTAVE_LIBEXECDIR%, PREFIX, OCTAVE_HOME); |
129 vars["LOCALAPIARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALAPIARCHLIBDIR%, PREFIX, OCTAVE_HOME); | 132 vars["LOCALAPIARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALAPIARCHLIBDIR%, PREFIX, OCTAVE_HOME); |
130 vars["LOCALAPIFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIFCNFILEDIR%, PREFIX, OCTAVE_HOME); | 133 vars["LOCALAPIFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIFCNFILEDIR%, PREFIX, OCTAVE_HOME); |
131 vars["LOCALAPIOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIOCTFILEDIR%, PREFIX, OCTAVE_HOME); | 134 vars["LOCALAPIOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALAPIOCTFILEDIR%, PREFIX, OCTAVE_HOME); |
132 vars["LOCALARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALARCHLIBDIR%, PREFIX, OCTAVE_HOME); | 135 vars["LOCALARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALARCHLIBDIR%, PREFIX, OCTAVE_HOME); |
133 vars["LOCALFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALFCNFILEDIR%, PREFIX, OCTAVE_HOME); | 136 vars["LOCALFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALFCNFILEDIR%, PREFIX, OCTAVE_HOME); |
134 vars["LOCALOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALOCTFILEDIR%, PREFIX, OCTAVE_HOME); | 137 vars["LOCALOCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALOCTFILEDIR%, PREFIX, OCTAVE_HOME); |
135 vars["LOCALSTARTUPFILEDIR"] =substitute_prefix (%OCTAVE_LOCALSTARTUPFILEDIR%, PREFIX, OCTAVE_HOME); | 138 vars["LOCALSTARTUPFILEDIR"] =substitute_prefix (%OCTAVE_LOCALSTARTUPFILEDIR%, PREFIX, OCTAVE_HOME); |
136 vars["LOCALVERARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALVERARCHLIBDIR%, PREFIX, OCTAVE_HOME); | 139 vars["LOCALVERARCHLIBDIR"] =substitute_prefix (%OCTAVE_LOCALVERARCHLIBDIR%, PREFIX, OCTAVE_HOME); |
137 vars["LOCALVERFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVERFCNFILEDIR%, PREFIX, OCTAVE_HOME); | 140 vars["LOCALVERFCNFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVERFCNFILEDIR%, PREFIX, OCTAVE_HOME); |
138 vars["LOCALVEROCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVEROCTFILEDIR%, PREFIX, OCTAVE_HOME); | 141 vars["LOCALVEROCTFILEDIR"] =substitute_prefix (%OCTAVE_LOCALVEROCTFILEDIR%, PREFIX, OCTAVE_HOME); |
139 vars["MAN1DIR"] =substitute_prefix (%OCTAVE_MAN1DIR%, PREFIX, OCTAVE_HOME); | 142 vars["MAN1DIR"] =substitute_prefix (%OCTAVE_MAN1DIR%, PREFIX, OCTAVE_HOME); |
140 vars["MAN1EXT"] = %OCTAVE_MAN1EXT%; | 143 vars["MAN1EXT"] = %OCTAVE_MAN1EXT%; |
141 vars["MANDIR"] =substitute_prefix (%OCTAVE_MANDIR%, PREFIX, OCTAVE_HOME); | 144 vars["MANDIR"] =substitute_prefix (%OCTAVE_MANDIR%, PREFIX, OCTAVE_HOME); |
142 vars["OCTFILEDIR"] =substitute_prefix (%OCTAVE_OCTFILEDIR%, PREFIX, OCTAVE_HOME); | 145 vars["OCTFILEDIR"] =substitute_prefix (%OCTAVE_OCTFILEDIR%, PREFIX, OCTAVE_HOME); |
143 vars["OCTINCLUDEDIR"] =substitute_prefix (%OCTAVE_OCTINCLUDEDIR%, PREFIX, OCTAVE_HOME); | 146 vars["OCTINCLUDEDIR"] =substitute_prefix (%OCTAVE_OCTINCLUDEDIR%, PREFIX, OCTAVE_HOME); |
144 vars["OCTLIBDIR"] =substitute_prefix (%OCTAVE_OCTLIBDIR%, PREFIX, OCTAVE_HOME); | 147 vars["OCTLIBDIR"] =substitute_prefix (%OCTAVE_OCTLIBDIR%, PREFIX, OCTAVE_HOME); |
145 vars["PREFIX"] = (OCTAVE_HOME.empty() ? PREFIX : OCTAVE_HOME); | 148 vars["PREFIX"] = (OCTAVE_HOME.empty() ? PREFIX : OCTAVE_HOME); |
146 vars["STARTUPFILEDIR"] =substitute_prefix (%OCTAVE_STARTUPFILEDIR%, PREFIX, OCTAVE_HOME); | 149 vars["STARTUPFILEDIR"] =substitute_prefix (%OCTAVE_STARTUPFILEDIR%, PREFIX, OCTAVE_HOME); |
147 vars["VERSION"] = %OCTAVE_VERSION%; | 150 vars["VERSION"] = %OCTAVE_VERSION%; |
148 } | 151 } |
149 | 152 |
150 int main(int argc, char **argv) | 153 int |
154 main (int argc, char **argv) | |
151 { | 155 { |
152 initialize(); | 156 initialize (); |
153 | 157 |
154 if (argc == 1) | 158 if (argc == 1) |
155 { | 159 { |
156 std::cout << usage_msg << std::endl; | 160 std::cout << usage_msg << std::endl; |
157 return 1; | 161 return 1; |
158 } | 162 } |
159 | 163 |
160 for (int i=1; i<argc; i++) | 164 for (int i = 1; i < argc; i++) |
161 { | 165 { |
162 std::string arg(argv[i]); | 166 std::string arg (argv[i]); |
163 | 167 |
164 if (arg == "-h" || arg == "-?" || arg == "--help") | 168 if (arg == "-h" || arg == "-?" || arg == "--help") |
165 { | 169 { |
166 std::cout << usage_msg << std::endl; | 170 std::cout << usage_msg << std::endl; |
167 std::cout << help_msg; | 171 std::cout << help_msg; |
168 return 0; | 172 return 0; |
169 } | 173 } |
170 else if (arg == "--m-site-dir") | 174 else if (arg == "--m-site-dir") |
171 std::cout << vars["LOCALVERFCNFILEDIR"] << std::endl; | 175 std::cout << vars["LOCALVERFCNFILEDIR"] << std::endl; |
172 else if (arg == "--oct-site-dir") | 176 else if (arg == "--oct-site-dir") |
173 std::cout << vars["LOCALVEROCTFILEDIR"] << std::endl; | 177 std::cout << vars["LOCALVEROCTFILEDIR"] << std::endl; |
174 else if (arg == "-v" || arg == "--version") | 178 else if (arg == "-v" || arg == "--version") |
175 std::cout << vars["VERSION"] << std::endl; | 179 std::cout << vars["VERSION"] << std::endl; |
176 else if (arg == "-p" || arg == "--print") | 180 else if (arg == "-p" || arg == "--print") |
177 { | 181 { |
178 if (i < argc-1) | 182 if (i < argc-1) |
179 { | 183 { |
180 arg = argv[++i]; | 184 arg = argv[++i]; |
181 std::cout << vars[arg] << std::endl; | 185 std::cout << vars[arg] << std::endl; |
182 } | 186 } |
183 else | 187 else |
184 { | 188 { |
185 std::cerr << "octave-config: " << arg << " options requires argument" << std::endl; | 189 std::cerr << "octave-config: " << arg |
186 return 1; | 190 << " options requires argument" << std::endl; |
187 } | 191 return 1; |
188 } | 192 } |
189 else | 193 } |
190 { | 194 else |
191 std::cerr << "octave-config: unrecognized argument " << arg << std::endl; | 195 { |
192 return 1; | 196 std::cerr << "octave-config: unrecognized argument " << arg << std::endl; |
193 } | 197 return 1; |
194 } | 198 } |
195 | 199 } |
196 return 0; | 200 |
201 return 0; | |
197 } | 202 } |