On Fri, Jun 17, 2011 at 3:02 AM, Mike Frysinger <[email protected]> wrote:
> On Monday, June 13, 2011 17:35:24 Jie Zhang wrote:
>> Btw, I just tried your patch. It did not work:
>>
>> make[3]: Entering directory `/home/jie/sources/urjtag/svn/trunk/src/svf'
>> YACC svf_bison.c
>> CC svf.lo
>> LEX svf_flex.c
>> CC libsvf_flex_la-svf_flex.lo
>> svf.c:56:23: fatal error: svf_bison.h: No such file or directory
>> compilation terminated.
>> make[3]: *** [svf.lo] Error 1
>> make[3]: *** Waiting for unfinished jobs....
>> svf_flex.l:47:23: fatal error: svf_bison.h: No such file or directory
>> compilation terminated.
>> make[3]: *** [libsvf_flex_la-svf_flex.lo] Error 1
>> updating svf_bison.h
>> make[3]: Leaving directory `/home/jie/sources/urjtag/svn/trunk/src/svf'
>> make[2]: *** [all-recursive] Error 1
>> make[2]: Leaving directory `/home/jie/sources/urjtag/svn/trunk/src'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory `/home/jie/sources/urjtag/svn/trunk'
>> make: *** [all] Error 2
>
> i dont see how this is possible. my patch didnt touch src/svf/, only
> src/bsdl/. and the contents of one subdir have no bearing at all on any other
> when it comes to lex/yacc.
>
Since your previous patch also remove OBJEXT override from svf subdir,
but your this patch only touch bsdl.
>> I found this with
>>
>> make
Oops, I meat to type:
make maintainer-clean
but your "git clean -x -d" should have the same effect.
>> ./configure --enable-maintainer-mode
>> make -j4
>
> i just tried the same and it worked fine. then i tried:
>
> git clean -x -d
> autoreconf -i -s -v -f
> ./configure
> make -j4
> ./configure --enable-maintainer-mode
> make -j4
> make clean
> make -j4
>
> still worked
>
I don't know if you have a local patch for src/svf/Makefile.am.
But even for src/bsdl/Makefile.am with your patch, it still has very
tricky issue. After a successful make, make some changes to
src/bsdl/bsdl_bison.y, like remove or insert some white spaces between
"int" and "integer" in the following code:
%union {
int integer;
char *str;
}
then make, I got:
make[3]: Entering directory `/home/jie/sources/urjtag/git/urjtag/src/bsdl'
YACC bsdl_bison.c
updating bsdl_bison.h
CC bsdl_bison.lo
CCLD libbsdl.la
make[3]: Leaving directory `/home/jie/sources/urjtag/git/urjtag/src/bsdl'
You can see that some targets depending on bsdl_bison.h are not remade.
Then make some change src/bsdl/bsdl_bison.y again, remove or insert
white spaces on the same line or revert previous changes, then make, I
got
make[3]: Entering directory `/home/jie/sources/urjtag/git/urjtag/src/bsdl'
YACC bsdl_bison.c
updating bsdl_bison.h
CC vhdl_bison.lo
CC bsdl_bison.lo
CC bsdl.lo
CC bsdl_sem.lo
CCLD libbsdl.la
CC libbsdl_flex_la-vhdl_flex.lo
CC libbsdl_flex_la-bsdl_flex.lo
CCLD libbsdl_flex.la
make[3]: Leaving directory `/home/jie/sources/urjtag/git/urjtag/src/bsdl'
This time the targets depending on basl_bison.h got remade.
If you change src/bsdl/bsdl_bison.y again, you will got the first case
again. And then the second case, repeating...
I tried to help to find the root cause of this issue, but couldn't
find it. Your patch might look simple, but it's actually not that
simple. It's much trickier than it looks like.
Regards,
Jie
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
UrJTAG-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/urjtag-development