7439 libsqlite always rebuilds after illumos 6648

Review Request #223 — Created Sept. 30, 2016 and submitted

gwr
illumos-gate
7439
general

The reason this happens is that CFLAGS is an inherited macro that's set differently (via conditional assignment involving PICFLAGS) when we're building the pic/*.o library objects vs. building the lint libraries etc.

Before #6648 was fixed, this makefile omitted CFLAGS, which masked this problem.
Have a fix which prevents PICFLAGS inheritance when building the "lemon" tool.

Build twice in $SRC/lib/libsqlite

  • 0
  • 0
  • 0
  • 1
  • 1
Description From Last Updated
yuripv
  1. Ship It!
  2. 
      
igork
  1. 
      
  2. usr/src/lib/libsqlite/Makefile.com (Diff revision 1)
     
     

    on this line you can use:
    $(NATIVECC) $(NATIVE_CFLAGS) -o $@ $<

    others - LGTM

    1. nohup nightly -i gwr-illumos </dev/null

    2. That was weird. RB pasted something other than what I had highlighted...
      Anyway, question below...

    3. Actually, I tried replacing that as you suggested, but make left $< empty so the rule fails.
      Let's just go with what I know works (which we've been using for a year).

  3. 
      
gwr
  1. 
      
  2. usr/src/lib/libsqlite/Makefile.com (Diff revision 1)
     
     

    OK, but is that worth the trouble to change?

    1. you need copy/past the same target what you have in input - with my proposed rule you need control only one list of file(s), but up to you - if we use only one static file here

    2. OK

  3. 
      
richlowe
  1. I reviewed this initially, and am still scared by the fact it works, but I'm happy with the fact it does work.

    It seems like it working (or not working, or in fact being different) suggests there's a bug in make somewhere :(

    1. Yeah, it's perhaps non-obvious, but it works because inheritance of target-dependent assignments does not continue into sub-invocations of $(MAKE).

  2. 
      
richlowe
  1. Ship It!
  2. 
      
gwr
Review request changed

Status: Closed (submitted)

Loading...