Re: svn commit: r186519 - head

[ Available lists | Index of svn-src-head | Month of Dec 2008 | Week of 30 Dec 2008 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Dag-Erling Smørgrav <des@des.no>
Date
30 Dec 2008 11:12:33
Subject
Re: svn commit: r186519 - head
Message-ID
86r63p5334.fsf@ds4.des.no


[ Hide this part ]
"M. Warner Losh" <imp@bsdimp.com> writes:
> Still working on a solution that's correct and mutually acceptable to
> DES. i think the ball is in my court.

No, it's a build system issue. If it's in anyone's court, it would be
ru@'s.

The problem is that we need to use different CFLAGS for .o and .So. The
quick and dirty fix is to override the .c.o rule for PAM modules:

Index: /home/des/freebsd/base/head/lib/libpam/modules/Makefile.inc
===================================================================
--- /home/des/freebsd/base/head/lib/libpam/modules/Makefile.inc (revision 186063)
+++ /home/des/freebsd/base/head/lib/libpam/modules/Makefile.inc (working copy)
@@ -19,4 +19,7 @@
LDADD+= -lpam
.endif

+.c.o:
+ ${CC} ${CFLAGS} -DOPENPAM_STATIC_MODULES -c ${.IMPSRC}
+
.include "../Makefile.inc"

A cleaner but more intrusive fix would be to add STATIC_CFLAGS and
SHARED_CFLAGS variables:

Index: lib/libpam/modules/Makefile.inc
===================================================================
--- lib/libpam/modules/Makefile.inc (revision 186599)
+++ lib/libpam/modules/Makefile.inc (working copy)
@@ -6,6 +6,7 @@
NO_PROFILE=

CFLAGS+= -I${PAMDIR}/include -I${.CURDIR}/../../libpam
+STATIC_CFLAGS+= -DOPENPAM_STATIC_MODULES
WARNS?= 4

# This is nasty.
Index: share/mk/bsd.lib.mk
===================================================================
--- share/mk/bsd.lib.mk (revision 186063)
+++ share/mk/bsd.lib.mk (working copy)
@@ -54,9 +54,9 @@

.if !defined(PICFLAG)
.if ${MACHINE_ARCH} == "sparc64"
-PICFLAG=-fPIC
+PICFLAG=-fPIC -DPIC
.else
-PICFLAG=-fpic
+PICFLAG=-fpic -DPIC
.endif
.endif

@@ -73,7 +73,7 @@
.endif

.c.So:
- ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CC} ${PICFLAG} ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.endif
@@ -82,7 +82,7 @@
${CXX} ${PO_FLAG} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}

.cc.So .C.So .cpp.So .cxx.So:
- ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CXX} ${PICFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET}

.f.po:
${FC} -pg ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC}
@@ -121,7 +121,7 @@
.endif

.asm.So:
- ${CC} -x assembler-with-cpp ${PICFLAG} -DPIC ${CFLAGS} \
+ ${CC} -x assembler-with-cpp ${PICFLAG} ${SHARED_CFLAGS} ${CFLAGS} \
-c ${.IMPSRC} -o ${.TARGET}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
@@ -134,7 +134,7 @@
.endif

.S.So:
- ${CC} ${PICFLAG} -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
+ ${CC} ${PICFLAG} ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.endif
Index: share/mk/sys.mk
===================================================================
--- share/mk/sys.mk (revision 186063)
+++ share/mk/sys.mk (working copy)
@@ -159,7 +159,7 @@
# DOUBLE SUFFIX RULES

.c.o:
- ${CC} ${CFLAGS} -c ${.IMPSRC}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.endif
@@ -172,7 +172,7 @@

.y.o:
${YACC} ${YFLAGS} ${.IMPSRC}
- ${CC} ${CFLAGS} -c y.tab.c
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c y.tab.c
rm -f y.tab.c
mv y.tab.o ${.TARGET}
.if defined(CTFCONVERT)
@@ -181,7 +181,7 @@

.l.o:
${LEX} ${LFLAGS} ${.IMPSRC}
- ${CC} ${CFLAGS} -c lex.yy.c
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c lex.yy.c
rm -f lex.yy.c
mv lex.yy.o ${.TARGET}
.if defined(CTFCONVERT)
@@ -197,7 +197,7 @@
mv lex.yy.c ${.TARGET}

.c.a:
- ${CC} ${CFLAGS} -c ${.IMPSRC}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC}
${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o
rm -f ${.PREFIX}.o

@@ -229,16 +229,16 @@
.endif

.c.o:
- ${CC} ${CFLAGS} -c ${.IMPSRC}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.endif

.cc .cpp .cxx .C:
- ${CXX} ${CXXFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
+ ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}

.cc.o .cpp.o .cxx.o .C.o:
- ${CXX} ${CXXFLAGS} -c ${.IMPSRC}
+ ${CXX} ${STATIC_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC}

.m.o:
${OBJC} ${OBJCFLAGS} -c ${.IMPSRC}
@@ -260,13 +260,13 @@
${FC} ${RFLAGS} ${EFLAGS} ${FFLAGS} -c ${.IMPSRC}

.S.o:
- ${CC} ${CFLAGS} -c ${.IMPSRC}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.endif

.asm.o:
- ${CC} -x assembler-with-cpp ${CFLAGS} -c ${.IMPSRC}
+ ${CC} -x assembler-with-cpp ${STATIC_CFLAGS} ${CFLAGS} -c ${.IMPSRC}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.endif
@@ -280,7 +280,7 @@
# XXX not -j safe
.y.o:
${YACC} ${YFLAGS} ${.IMPSRC}
- ${CC} ${CFLAGS} -c y.tab.c -o ${.TARGET}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} -c y.tab.c -o ${.TARGET}
rm -f y.tab.c
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
@@ -303,7 +303,7 @@
${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.TARGET}

.s.out .c.out .o.out:
- ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
.endif
@@ -319,7 +319,7 @@
# XXX not -j safe
.y.out:
${YACC} ${YFLAGS} ${.IMPSRC}
- ${CC} ${CFLAGS} ${LDFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} ${LDFLAGS} y.tab.c ${LDLIBS} -ly -o ${.TARGET}
rm -f y.tab.c
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
@@ -327,7 +327,7 @@

.l.out:
${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
- ${CC} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
+ ${CC} ${STATIC_CFLAGS} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
rm -f ${.PREFIX}.tmp.c
.if defined(CTFCONVERT)
${CTFCONVERT} ${CTFFLAGS} ${.TARGET}

DES
--
Dag-Erling Smrgrav - des@des.no


Elapsed time: 0.946 seconds