From owner-ports-jp@jp.freebsd.org  Fri Oct  9 17:09:35 1998
Received: (from daemon@localhost)
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) id RAA02122;
	Fri, 9 Oct 1998 17:09:35 +0900 (JST)
	(envelope-from owner-ports-jp@jp.FreeBSD.org)
Received: from tohokugw.tohoku.iij.ad.jp (firewall-user@[202.232.14.98])
	by jaz.jp.freebsd.org (8.9.1+3.1W/8.7.3) with ESMTP id RAA02117
	for <ports-jp@jp.freebsd.org>; Fri, 9 Oct 1998 17:09:32 +0900 (JST)
	(envelope-from taguchi@tohoku.iij.ad.jp)
Received: by tohokugw.tohoku.iij.ad.jp; id RAA26129; Fri, 9 Oct 1998 17:09:31 +0900 (JST)
Received: from unknown(192.168.144.10) by tohokugw.tohoku.iij.ad.jp via smap (4.1)
	id xma026122; Fri, 9 Oct 98 17:09:07 +0900
Received: from localhost (hirose.tohoku.iij.ad.jp [192.168.144.2])
	by ayashi.tohoku.iij.ad.jp (8.8.8/3.6W98060211) with ESMTP id RAA04731
	for <ports-jp@jp.freebsd.org>; Fri, 9 Oct 1998 17:08:22 +0900 (JST)
To: ports-jp@jp.freebsd.org
From: Taguchi Takeshi <taguchi@tohoku.iij.ad.jp>
In-Reply-To: Your message of "Thu, 8 Oct 1998 18:35:13 -0700 (PDT)"
	<199810090135.SAA00826@bubble.didi.com>
References: <199810090135.SAA00826@bubble.didi.com>
X-Mailer: Mew version 1.93b38 on XEmacs 20.4 (Emerald)
X-Prom-Mew: Prom-Mew 1.92.9 (procmail reader for Mew)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19981009170659A.taguchi@tohoku.iij.ad.jp>
Date: Fri, 09 Oct 1998 17:06:59 +0900
X-Dispatcher: imput version 980522
Lines: 114
Reply-To: ports-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+980914
X-Sequence: ports-jp 4762
Subject: [ports-jp 4762] ELF transition for ports (revised) (in Japanese Ver.2.1)
Errors-To: owner-ports-jp@jp.freebsd.org
Sender: owner-ports-jp@jp.freebsd.org

$BED8}!wL@F|$OL<$NMDCU1`$NIc?F;24QF|!$$G$9!%(B

$B$9$_$^$;$s!$=$@5$7$?$N$r=P$7K:$l$F$^$7$?!%(B

$B$J$*!$Q(1[$J$,$iLuCm$H$7$F(B NO_FILTER_SHLIBS $B$H(B BROKEN_ELF $B$K$D$$$F(B
$B$N5-=R$rF~$l$5$;$FD:$-$^$7$?(B_o_

---
Subject: ELF transition for ports (revised)
From: asami@cs.berkeley.edu (Satoshi Asami)
To: current@FreeBSD.ORG, ports@FreeBSD.ORG
Date: Wed, 16 Sep 1998 18:14:55 -0700 (PDT)
Reply-to: ports@FreeBSD.ORG

($BK\%U%!%$%k$O0J2<$+$i$b;2>H$G$-$^$9(B:
 http://www.freebsd.org/~asami/elf-guidelines.txt
)

$B$3$l$O!$(Bports $B$r(B ELF $B$K$9$k$?$a$N!$$=$7$FMh$k$Y$-(BELF$B3&$G(B ports$B$rMQ$$$k$?$a(B
$B$N%,%$%I%i%$%s$G$9!%(BELF$B2=$5$l$?(B ports $B$rMQ$$$k$K$O!$:G?7$N(B bsd.ports.mk
(1.289 $B$d(B 1.227.2.53) $B$,I,MW$K$J$j$^$9!%(B($B:G?7$N(B ports $B$r;H$$$?$$$N$G$"$k$J(B
$B$i$P!$(B-stable $B%f!<%6$G$"$C$F$b:G?7$N(B bsd.ports.mk $B$,I,MW$G$"$k$3$H$KCm0U$7(B
$B$F$/$@$5$$!%(B)

aout$B6&M-%i%$%V%i%j$N%P!<%8%g%sHV9f$K4X$9$k%]%j%7!<$,!$$$$/$V$sJQ99$5$l$F$$(B
$B$k$3$H$KCm0U$7$F$/$@$5$$!%(BELF$BJQ49$N$?$a$K%P!<%8%g%sHV9f$rA}2C$5$;$k$3$H$O(B
$BI,?\$G$O$J$/$J$j$^$7$?!%(B

a.out $B$H(B ELF $BAPJ}$G(B ports $B$,F0$/$h$&$K2f!9$,=$@5$r40N;$9$k$^$G$O!$?IJz$7$F(B
$B$/$@$5$$!%(Bports $B$N$$$+$J$kGKB;$bJs9p4j$$$^$9!%(B

$B0J>e!%(B

$B$"$5$_(B ($B$H!$0NBg$J$k(BELF$B%A!<%`(B)
-------
(1) aout $B$J%i%$%V%i%j$O(B /usr/local/lib $BD>2<$K$OCV$+$J$$$h$&$K$7!$(B"aout"$B%5(B
   $B%V%G%#%l%/%H%j$KBTHr$5$;$F$*$-$^$9!%BTHr$5$;$F$*$+$J$$$H!$(Belf $B$J(B
   ports $B$O2?$b9M$($:$K(B aout $B%i%$%V%i%j$r>e=q$-$7$F$7$^$&$G$7$g$&!%(B
   -current $B$N(B src/Makefile $BCf$N%?!<%2%C%H(B "move-aout-libs"
   ("aout-to-elf" $B$+$i8F$S=P$5$l$k(B) $B$O!$$3$N:n6H$r9T$C$F$/$l$^$9!%(Baout $B$J(B
   $B%i%$%V%i%j$r0\F0$9$k$@$1$J$N$G!$I8=`%G%#%l%/%H%j$K(B elf $B$H(B aout $BAPJ}$N%i(B
   $B%$%V%i%j$,B8:_$9$k>l9g$G$b!$0BA4$K8F$S=P$;$^$9!%(B

(2) ports $B$O!$$=$N%^%7%s$N%P%$%J%j7A<0$G(Bpackage$B$r@8@.$7$^$9!%$3$l$O!$(B
   2.2-stable $B$J$i$P(B aout $B7A<0$G!$(B3.0-current $B$G$"$k$J$i$P(B`objformat` $B$,2?(B
   $B$rJV$9$+$K$h$C$F(B elf $B$+(B aout $B$+$,7hDj$5$l$k$3$H$r0UL#$7$^$9!%$^$?!$0lEY(B
   (1) $B$N<j=g$G(B elf $B2=$7$F$7$^$&(B($B$9$J$o$A!$(Baout $B%i%$%V%i%j$r%5%V%G%#%l%/%H(B
   $B%j$K0\F0$7$F$7$^$&(B)$B$H!$(Baout $B%i%$%V%i%j$N@8@.$O%5%]!<%H$5$l$^$;$s(B($B$I$&$9(B
   $B$k$Y$-$+CN$C$F$k$J$i$P!$(Baout $B%i%$%V%i%j$r@8@.$5$;$k$3$H$O$G$-$k$G$7$g$&!%(B
   $B$?$@$7!"$"$/$^$G<+8J@UG$$G9T$&$3$H!%(B

(3) bsd.port.mk $B$OJQ?t(B PORTOBJFORMAT $B$r(B "aout" $B$d(B "elf" $B$K@_Dj$7!$$=$l$r4D(B
   $B6-JQ?t(B CONFIGURE_ENV $B$H(B MAKE_ENV$B!$$*$h$S(B SCRIPTS_ENV $B$K(B export $B$7$^$9(B
   (-stable $B$G$O!$$3$NCM$O>o$K(B "aout" $B$G$9(B)$B!%$^$?!$(BPLIST_SUB $B$K$b(B
   "PORTOBJFORMAT=${PORTOBJFORMAT}" $B$H$7$FEO$5$l$^$9(B($B>\:Y$O(B(7)$B;2>H(B)$B!%(B
    $BK\JQ?t$O0J2<$N9T$r;H$C$F@_Dj$5$l$^$9(B:

PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout

   ports $B$N(Bmake $B=hM}$O2?$r9T$&$+$3$NJQ?t$r;H$C$F7hDj$G$-$^$9!%$?$@$7!$(B
   ports $B<+?H$N(B configure $B%9%/%j%W%H(B($B$d!$$=$l$KN`$9$k$b$N(B)$B$,(B ELF $B$G$"$k$+(B
   $BH]$+$r@5$7$/H=JL$G$-$k$J$i$P!$$"$($F(B PORTOBJFORMAT $B$rD4$Y$kI,MW$O$"$j(B
   $B$^$;$s!%(B

 (3a) ELF $B%i%$%V%i%j$O(B "libfoo.so.M" $B$H8@$&7A<0$G8F$P$l$M$P$J$j$^$;$s!%(B
     ("libfoo.so.M.N" $B$H$$$&7A<0$G@8@.$9$k$3$H$O5v$5$l$^$;$s!%$^$?!$%7%s%\(B
     $B%j%C%/%j%s%/$G(B "libfoo.so.M" $B$+$i$N%j%s%/$rD%$C$F$b$@$a$G$9(B)$B!%$^$?!$(B
     "ld" $B$rD>@\;H$&Be$o$j$K(B "cc -shared" $B$r;H$&$h$&$K$7$^$9!%$3$N>l9g$N!$(B
     "ld" $B$rD>@\;H$&>l9g$H$NAj0cE@$O!$%3%^%s%I%i%$%s$K0z?t(B
     "-Wl,-soname,libfoo.so.M" $B$rDI2C$9$k$@$1$G$9!%(B

 (3b) aout $B%i%$%V%i%j$O(B "libfoo.so.M.N" $B$H8@$&7A<0$G8F$P$l$M$P$J$j$^$;$s!%(B
     $B$3$N>l9g!$(B"libfoo.so.M" $B$+$i$N%j%s%/$OD%$i$l$k$Y$-$G$O$"$j$^$;$s!%(B

   elf $B6&M-%i%$%V%i%j$N%P!<%8%g%sHV9f$O!$(Bports $B$,Hs8_49@-$N$"$kJQ99$r2C$((B
   $B$i$l$?;~$K!$A}2C$5$l$k$Y$-$G$9!%$=$N;~E@$G!$(Baout $B$N%^%$%J!<%P!<%8%g%s$O(B
   0 $B$K$5$l!$0J8e$O$:$C$H(B 0 $B$N$^$^$K$J$j$^$9(B ($B$3$l$O!$(Bpkg/PLIST $BCf$K$O(B
   elf $B6&M-%i%$%V%i%jL>$N$_$,=q$-9~$^$l$k$3$H$r0UL#$7$^$9!%>\:Y$O(B(4)$B;2>H(B)$B!%(B

(4) pkg/PLIST $B$O!$(Baout $B$N%^%$%J!<%P!<%8%g%sHV9f$,(B0$B$G$"$k>l9g$O!$C;$$(B(elf$B$J(B)
   $B6&M-%i%$%V%i%jL>$,=q$+$l$k$Y$-$G$9!%D9$$(B(aout$B$J(B)$BL>A0$r(BPLIST$B$K=q$/$N$O!$(B
   $B$=$l0J30$N>l9g(B(aout $B$J%^%$%J!<%P!<%8%g%sHV9f$,(B0$B$G$J$$>l9g(B)$B$G$9!%(B
   bsd.port.mk $B$O6&M-%i%$%V%i%jL>$,C;$$7A<0$N>l9g!$$+$D!$(BPORTOBJFORMAT
   == aout $B$N>l9g$K!$$=$NKvHx$K(B ".0" $B$rDI2C$7$^$9!%0lJ}!$(BPORTOBJFORMAT
   == elf $B$+$D!$D9$$6&M-%i%$%V%i%jL>$N>l9g$O!$%^%$%J!<%P!<%8%g%sHV9f$r:o=|(B
   $B$7$^$9!%(B
   [$BLuCm(B: $B$3$NJQ49$r2?$i$+$NM}M3$GDd$a$?$$>l9g$O!$(BNO_FILTER_SHLIBS $B$r(B
   YES $B$K$7$^$9!%(B]

(5) ports $B$O!$(B"libfoo.so" $B$,<B:]$N6&M-%i%$%V%i%j(B (aout $B$J$i$P(B
   libfoo.so.M.N$B!$(Belf $B$J$i$P(B libfoo.so.M)$B$r$5$9$h$&$J%7%s%\%j%C%/%j%s%/$r(B
   $B%$%s%9%H!<%k$;$M$P$J$j$^$;$s!%$3$N%j%s%/$O(Bpkg/PLIST$B$K$b5-=R$5$l$M$P$J$j(B
   $B$^$;$s!%(B

(6) $B$9$Y$F$N(B ports $B$N(B Makefile $B$O!$(BLIB_DEPENDS $B$+$i%^%$%J!<%P!<%8%g%sHV9f(B
   $B$r:o=|$9$k$h$&JT=8$5$l$M$P$J$j$^$;$s!%$^$?!$(Bregexp $B5!G=$N;HMQ$b$d$a$M$P(B
   $B$J$j$^$;$s(B($BNc$($P!$(B"foo\\.1\\.\\(33|40\\)" -> "foo.2" $B$H$7$^$9!%$3$l$O!$(B
   bsd.ports.mk $BFb$G(B "grep -wF" $B$r;H$C$F%^%C%A%s%0$5$l$^$9(B)$B!%(B

(7) Makefile $BCf$N(B ldconfig $B9T$O(B:

${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....

    $B$H$J$k$Y$-$G$"$j!$(Bpkg/PLIST $B$G$O(B:

@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m ...
@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R

    $B$H$9$k$Y$-$G$9!%(B

[$BLuCm(B: $B$J$s$i$+$NM}M3$G(B ELF $B2=$,ITG=$G$"$k>l9g!$$=$NM}M3$r(B Makefile $BCf$K(B
	BROKEN_ELF= $BM}M3$r<($91QJ8(B
$B$H$$$&7A$GKd$a9~$s$G2<$5$$!%(B]

