Hello community, here is the log from the commit of package icmake for openSUSE:Factory checked in at 2013-07-29 21:01:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/icmake (Old) and /work/SRC/openSUSE:Factory/.icmake.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icmake" Changes: -------- --- /work/SRC/openSUSE:Factory/icmake/icmake.changes 2013-01-12 07:51:13.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.icmake.new/icmake.changes 2013-07-29 21:01:05.000000000 +0200 @@ -1,0 +2,11 @@ +Sun Jul 28 11:56:04 UTC 2013 - [email protected] + +- Update to version 7.20.00 + * added missing '\n' to the strtok call in icmbuild's 'dependenciesOf' + function + * line continuation in CLASSES results in one line being counted in the + icmbuild script. + * Added suggestions by Johann 'Myrkraverk' Oskarsson about compiling icmake + on solaris (in ./contributions/solaris) + +------------------------------------------------------------------- Old: ---- icmake_7.19.00.orig.tar.gz New: ---- icmake_7.20.00.orig.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ icmake.spec ++++++ --- /var/tmp/diff_new_pack.i5jxef/_old 2013-07-29 21:01:06.000000000 +0200 +++ /var/tmp/diff_new_pack.i5jxef/_new 2013-07-29 21:01:06.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package icmake # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ Name: icmake BuildRequires: bison BuildRequires: flex -Version: 7.19.00 +Version: 7.20.00 Release: 0 Summary: A program maintenance (make) utility using a C-like grammar License: GPL-3.0 ++++++ icmake_7.19.00.orig.tar.gz -> icmake_7.20.00.orig.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/VERSION new/icmake-7.20.00/VERSION --- old/icmake-7.19.00/VERSION 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/VERSION 2013-03-09 10:46:34.000000000 +0100 @@ -1,2 +1,2 @@ -VERSION=7.19.00 -YEARS=1992-2012 +VERSION=7.20.00 +YEARS=1992-2013 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/changelog new/icmake-7.20.00/changelog --- old/icmake-7.19.00/changelog 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/changelog 2013-03-09 14:48:54.000000000 +0100 @@ -1,3 +1,16 @@ +icmake (7.20.00) + + * added missing '\n' to the strtok call in icmbuild's 'dependenciesOf' + function + + * line continuation in CLASSES results in one line being counted in the + icmbuild script. + + * Added suggestions by Johann 'Myrkraverk' Oskarsson about compiling icmake + on solaris (in ./contributions/solaris) + + -- Frank B. Brokken <[email protected]> Sat, 09 Mar 2013 14:48:45 +0100 + icmake (7.19.00) * build scripts for constructing icmake now support the CC environment diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/contributions/solaris new/icmake-7.20.00/contributions/solaris --- old/icmake-7.19.00/contributions/solaris 1970-01-01 01:00:00.000000000 +0100 +++ new/icmake-7.20.00/contributions/solaris 2013-03-09 10:38:31.000000000 +0100 @@ -0,0 +1,61 @@ +Date: Sun, 16 Oct 2011 19:59:00 +0000 +Subject: A few hoops for icmake to compile on Solaris +From: "Johann 'Myrkraverk' Oskarsson" +To: [email protected] + + +Hi, + +Here is a short list of hoops I had to jump through in order to make +icmake compile on Solaris. Specifically OpenIndiana 151a. + +Change to icm_bootstrap: The comp subdirectory does not build with +gcc, but does with Solaris Studio 12.3 cc: + +echo Creating tmp/${LIBDIR}/icm-comp${EXTENSION} +try cd comp +try cc ${GLB} ${CFLAGS} \ + -o ../tmp/${LIBDIR}/icm-comp${EXTENSION} *.c ../tmp/libicrss.a \ + ${LDFLAGS} +cd .. + +In the following three files, before #include <stdlib.h>, +exec/string/string.ih, exec/virtual/virtual.ih, exec/list/list.ih: + +#undef getopt +#undef getoptindex +#undef getoptval + +I was unable to find a way to exclude these three symbols from the +header file with a -Ddefine. If these symbols are not meant to be +there in some Posix standard it should be. The reason: it conflicts +with the ic_ definitions from earlier include files. + +Above, when comp is compiled with gcc, errors similar (or same as) the +following spew out: + +In file included from /usr/include/stdio.h:81:0, + from lexer.c:21: +/usr/include/iso/stdio_iso.h:212:60: error: redefinition of parameter 'restrict' + + +If you need more information to fix this for future versions of +icmake, please just ask, + +Johann + + +---------------------------------------- + +Date: Tue, 22 Apr 2008 00:56:23 +0000 + +o Bitrot: I had to add -std=c99 to all gcc lines due to some macro +defining the "restrict" keyword in my system header files. I suspect +something defined in the icmake header files but I 'm not sure. + +o I had to change all getoptXXX calls to ic_getoptXXX becouse of +some conflict with my system getopt/headers/macros or something. + +o In all build scripts, I had to change the shebang lines from +#!tmp/icmake -qt/tmp/pp to #!/opt/myrkraverk/bin/icmake -qt/tmp/pp -- +or at least, I had to change them due to something. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/doc/icmake.1 new/icmake-7.20.00/doc/icmake.1 --- old/icmake-7.19.00/doc/icmake.1 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/doc/icmake.1 2013-03-09 14:16:27.000000000 +0100 @@ -1,4 +1,4 @@ -.TH "icmake" "1" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" "A program maintenance utility" +.TH "icmake" "1" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" "A program maintenance utility" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/doc/icmbuild.1 new/icmake-7.20.00/doc/icmbuild.1 --- old/icmake-7.19.00/doc/icmbuild.1 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/doc/icmbuild.1 2013-03-09 14:16:27.000000000 +0100 @@ -1,4 +1,4 @@ -.TH "icmbuild" "1" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" "A generic program maintenance script" +.TH "icmbuild" "1" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" "A generic program maintenance script" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/doc/icmstart.1 new/icmake-7.20.00/doc/icmstart.1 --- old/icmake-7.19.00/doc/icmstart.1 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/doc/icmstart.1 2013-03-09 14:16:27.000000000 +0100 @@ -1,4 +1,4 @@ -.TH "icmstart" "1" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" "starts icmbuild program maintenance" +.TH "icmstart" "1" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" "starts icmbuild program maintenance" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/doc/icmstart.rc.7 new/icmake-7.20.00/doc/icmstart.rc.7 --- old/icmake-7.19.00/doc/icmstart.rc.7 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/doc/icmstart.rc.7 2013-03-09 14:16:27.000000000 +0100 @@ -1,4 +1,4 @@ -.TH "icmstart\&.rc" "7" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" "icmstart resource file" +.TH "icmstart\&.rc" "7" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" "icmstart resource file" .PP .SH "NAME" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/doc/manpage/icmconf.yo new/icmake-7.20.00/doc/manpage/icmconf.yo --- old/icmake-7.19.00/doc/manpage/icmconf.yo 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/doc/manpage/icmconf.yo 2013-03-09 13:52:39.000000000 +0100 @@ -94,8 +94,8 @@ y x z y ) - then 'icmbuild program' will result in the recompilation of all of the -sources in classes x, y and z. + then 'icmbuild program' results in recompiling all of the sources in +classes x, y and z. By default, class-dependencies are not interpreted. To activate them the line verb( @@ -106,6 +106,15 @@ #define USE_ALL "a" ) +Empty lines and lines whose first non-blank character is a hash-mark (tt(#)) +or whose first non-blank characters are two consecutive forward slashes (//) +are ignored. Long lines can be split over multiple lines by using a final +backslash character at lines which continue at the next line. E.g., + verb( + name1 depends on \ + multiple other \ + classes + ) manpagesection(ICMCONF PARAMETERS) itemization( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/doc/manpage/release.yo new/icmake-7.20.00/doc/manpage/release.yo --- old/icmake-7.19.00/doc/manpage/release.yo 1970-01-01 01:00:00.000000000 +0100 +++ new/icmake-7.20.00/doc/manpage/release.yo 2013-03-09 14:16:27.000000000 +0100 @@ -0,0 +1,2 @@ +SUBST(_CurVers_)(7.20.00) +SUBST(_CurYrs_)(1992-2013) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icmake-7.19.00/scripts/icmbuild.in new/icmake-7.20.00/scripts/icmbuild.in --- old/icmake-7.19.00/scripts/icmbuild.in 2012-09-07 09:44:40.000000000 +0200 +++ new/icmake-7.20.00/scripts/icmbuild.in 2013-03-09 14:48:03.000000000 +0100 @@ -23,6 +23,7 @@ int g_compiled; // any source compiled (but main)? int g_keepGramspec; // keep the gramspec directory list g_classLines; // list of all lines in CLASSES +list g_classLine; // line of the CLASSES file list g_inspected; // list of classes whose dependencies have been // inspected (used with USE_ALL) int g_base; // compile the sources in the base directory @@ -190,12 +191,11 @@ // find all classes that depend on g_classes[idx], // if those classes haven't been inspected yet, then set their USE_ALL // file and inspect their dependencies. -void dependendenciesOf(string thisClass) +void dependenciesOf(string thisClass) { int ret; int idx; - string classLine; - string hit; + list hit; if (find(thisClass, g_inspected) != -1) // this class already inspected return; // then done with this class @@ -208,13 +208,12 @@ // find all classes depending on thisClass for (idx = 0; idx != g_nClasses; ++idx) { - classLine = g_classLines[idx]; + hit = strtok(g_classLines[idx], " \t"); - if (strfind(classLine, thisClass) > 0) + if (find(thisClass, hit) > 0) { - hit = strtok(classLine, " \t")[0]; - touch(hit); - dependendenciesOf(hit); + touch(hit[0]); + dependenciesOf(hit[0]); } } } @@ -229,7 +228,7 @@ all = g_classes[idx] + "/" USE_ALL; if (exists(all)) - dependendenciesOf(g_classes[idx]); + dependenciesOf(g_classes[idx]); } if (g_base) @@ -238,6 +237,54 @@ #endif +int isEmpty(string line) +{ + list parts; + + parts = strtok(line, " \t"); + + return (int)(sizeof(parts) == 0 || + parts[0][0] == "#" || strfind(parts[0], "//") == 0); +} + + +list nextCLASSESline() +{ + string ret; + string line; + int last; + int backslash; + + while (sizeof(g_classLine = fgets("CLASSES", (int)g_classLine[1]))) + { + line = strtok(g_classLine[0], "\n")[0]; // get the string + + if (isEmpty(line)) + { + if (strlen(ret) != 0) + break; + } + else + { + last = strlen(line) - 1; + backslash = line[last] == "\\"; + + if (backslash) + line = substr(line, 0, last); + + ret += line + " "; + + if (!backslash) + break; + } + } + + if (!isEmpty(ret)) + g_classLines += (list)ret; + + return strtok(ret, " \t"); +} + void setClasses() { string dir; @@ -251,30 +298,19 @@ if (PARSER_DIR != "") g_classes += (list)PARSER_DIR; - while (sizeof(class = fgets("CLASSES", (int)class[1]))) + while (sizeof(class = nextCLASSESline())) { - dir = element(0, strtok(class[0], " \t\n")); + dir = class[0]; if ( - strlen(dir) // omit empty lines + dir != SCANNER_DIR // SCANNER_DIR is already there && - strfind(dir, "#") != 0 // omit lines starting in # - && - strfind(dir, "/") != 0 // omit lines starting in // + dir != PARSER_DIR // PARSER_DIR is already there ) - { - if - ( - dir != SCANNER_DIR // SCANNER_DIR is already there - && - dir != PARSER_DIR // PARSER_DIR is already there - ) - g_classes += (list)dir; // add this dir. - - g_classLines += (list)class[0]; - } + g_classes += (list)dir; // add this dir. } + // classLines contains the full lines of the CLASSES file, and thus // stores its dependencies. -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
