On 5/13/20 11:33 PM, Ken Moffat via lfs-dev wrote:
I notice that in some places people have overridden any existing
CFLAGS when adding -fcommon.  In most places, for those of us who
care the fix is obvious (CFLAGS="$CFLAGS -fcommon").  One or two
packages will turn out to be more painful.

The first I've found is freeglut, where the book uses
       -DCMAKE_C_FLAGS=-fcommon

For people without any existing CFLAGS, that does the right thing
and respects the -O3 etc from specifying a Release build (seen by
using 'make VERBOSE=1') but for people who have extra flags such as
"-march=native -D_FORTIFY_SOURCE=2" those just get thrown away.

I'd assumed I could add
      -DCMAKE_CFLAGS="$CFLAGS -fcommon"

but if I do that, cmake tells me that CFLAGS was not referenced.

In this case, I am getting the right results (testing on a gcc-9
system) with:

CFLAGS="${CFLAGS} -fcommon" \
cmake -DCMAKE_INSTALL_PREFIX=/usr      \
       -DCMAKE_BUILD_TYPE=Release       \
       -DFREEGLUT_BUILD_DEMOS=OFF       \
       -DFREEGLUT_BUILD_STATIC_LIBS=OFF \
       -Wno-dev ..

Can I ask people to at least *consider* not trashing a user's
specified CFLAGS ?

Yes, we can do that, but right now we are trying to just get everything to build with gcc10. When that is done, we can probably review and do 'grep -r CFLAGS; in the book's xml top and do the right thing where we have had to make changes.

Also as new package releases address gcc10, we can probably remove a lot of the CFLAGS entries that we've been making.

  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to