Qucs / ADMS

ADMS is a code generator for the Verilog-AMS language
GNU General Public License v3.0
94 stars 31 forks source link

Polishing ADMS #7

Closed nicolati closed 9 years ago

nicolati commented 9 years ago

Hi Guilherme, as we discussed by e-mail, I made some reasonable changes to ADMS, in order to polish it.

Thank you, Fra

guitorri commented 9 years ago

Hello @nicolati! Sorry for the delay. I did some cleanup/removal of the Perl GD module. I also reshuffled and merged most of your commits. Except for the auxconf part. There is something going on if we let the older autotools generate the auxconf/yywrap. See https://travis-ci.org/Qucs/ADMS/builds/43407698

The auxconf commits are now in https://github.com/Qucs/ADMS/tree/remove-autogenerated This needs more work.

Please give it a try on master and see if works on your side.

nicolati commented 9 years ago

Hi Guilherme, what a great system! You have an automatic regression through this Travis CI. Is this anything strictly related to GitHub? Regarding the build issue, this should be related to the fact that you need also the changes in the Flex *.l files, because I think libtool has a problem and yywrap doesn't do its job properly, so that one is a workaround I discovered and I use it also for my Verilog-A Models Compiler. Basically you need to call '%option output="lex.yy.c"' (if I remember correctly).

I would compile again the master branch and I will let you know!

Thank you, Fra

guitorri commented 9 years ago

At the moment is just exercises the build system for failures. Later on we can add a testsuite for regression. Yes, Travis is integrated with GitHub.

If we set the %option output="lex.yy.c" won't the outputs overwrite each other?

guitorri commented 9 years ago

This seems related to what you mention about ylwrap (not yywrap): http://lists.gnu.org/archive/html/bug-automake/2011-11/msg00049.html

Perhaps we have to revert the Makefile.am to a previous state, when the flex command was given explicitly.

nicolati commented 9 years ago

Great! This is really a great system. I have to look at it for NGSPICE...

Regarding the bug, it's a libtool bug and as far as I know this is the only trick we can use. We could also use the 'flex' command explicitly, but I don't know if this is the best choice. We could also thing a sort of IF statement to separate the buggy versions, handled by "lex.yy.c", from the good ones, handled by "veriloga.c" or similar.

Fra

nicolati commented 9 years ago

Hi Guilherme, I really appreciate your final print for Configure Information! :)

I compiled successfully the master branch, but I have a couple of questions/doubts: 1) Did you add AM_PROG_AR ? If yes, you have also add 'ar-lib' in MAINTAINER_CLEAN_FILES, otherwise at the end 'ar-lib' is still in the work dir 2) Are line 83-84 of configure.ac really useful ? Libtool should be already initialized at that point by 'LT_INIT' 3) If we have to maintain 'auxconf' folder as is, we should also remove '--copy --force' from libtoolize in 'bootstrap.sh' 4) 'auxconf/ltmain.sh' and 'm4/libtool.m4' are new after 'make maintainer-clean' and this should be related with the point number 3

Thank you, Fra

guitorri commented 9 years ago

@nicolati please have another look at the latest master. Perhaps rebase your changes? Closing this for now.

nicolati commented 9 years ago

Ok! Let's see if I still remember what I did here! :)