Date: Thu, 16 Nov 1995 18:27:45 -0700 From: Nate Williams <nate@rocky.sri.MT.net> To: "Marc G. Fournier" <scrappy@hub.org> Cc: freebsd-questions@freebsd.org, freebsd-hackers@freebsd.org Subject: Re: Shared Libraries...almost there... Message-ID: <199511170127.SAA10855@rocky.sri.MT.net> In-Reply-To: <Pine.BSF.3.91.951116195056.6449c-100000@hub.org> References: <Pine.BSF.3.91.951116195056.6449c-100000@hub.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Marc G. Fournier writes: > > Hi... > > Well, I've finally got it down to the point that I have > to compile with -fpic, and then link with "ld -Bshareable" to create > a shared library...but it doesn't look right... > > Looking at /usr/share/mk/bsd.lib.mk, I'm supposed to be using > "shlib_version" to get major/minor numbers for the libraries I create, > but I can't find that. And, the shared library I created is over 3x > the size of the original ncurses shared library that comes with the > system...so I screwed up somewhere :( Look /usr/share/mk/bsd.lib.mk and note the ld commands. These are used to 'strip' out un-necessary (And some necessary according to Bruce) symbols out of the resulting .o files. .cc.so .C.so: ${CXX} ${PICFLAG} -DPIC ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} @${LD} -x -r ${.TARGET} @mv a.out ${.TARGET} So, if you use a .c.o target that is similar and add the 'ld -x -r' to the resulting .o I suspect your library will also be smaller. Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511170127.SAA10855>