Allow +libext+ and -y .f command file options to be given in any order.

This commit is contained in:
Purdea Andrei 2020-05-19 22:34:30 +03:00
parent 13f6a916b3
commit 37da3c530c
1 changed files with 8 additions and 2 deletions

10
main.cc
View File

@ -598,6 +598,7 @@ bool had_timescale = false;
static void read_iconfig_file(const char*ipath)
{
char buf[8*1024];
vector<tuple<char*,bool>> to_build_library_index;
FILE*ifile = fopen(ipath, "r");
if (ifile == 0) {
@ -756,10 +757,10 @@ static void read_iconfig_file(const char*ipath)
ignore_missing_modules = true;
} else if (strcmp(buf, "-y") == 0) {
build_library_index(cp, CASE_SENSITIVE);
to_build_library_index.push_back(make_tuple(strdup(cp), CASE_SENSITIVE));
} else if (strcmp(buf, "-yl") == 0) {
build_library_index(cp, false);
to_build_library_index.push_back(make_tuple(strdup(cp), false));
} else if (strcmp(buf, "-Y") == 0) {
library_suff.push_back(strdup(cp));
@ -798,6 +799,11 @@ static void read_iconfig_file(const char*ipath)
}
}
fclose(ifile);
for (vector<tuple<char *, bool>>::iterator it = to_build_library_index.begin() ;
it != to_build_library_index.end() ; ++ it ) {
build_library_index(get<0>(*it), get<1>(*it));
free(get<0>(*it));
}
}
/*