From nobody@FreeBSD.ORG  Sat Jul 15 14:21:11 2000
Return-Path: <nobody@FreeBSD.ORG>
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id C01F437B7E1; Sat, 15 Jul 2000 14:21:11 -0700 (PDT)
Message-Id: <20000715212111.C01F437B7E1@hub.freebsd.org>
Date: Sat, 15 Jul 2000 14:21:11 -0700 (PDT)
From: nm@web.am
Sender: nobody@FreeBSD.ORG
To: freebsd-gnats-submit@FreeBSD.org
Subject: request for static linked make
X-Send-Pr-Version: www-1.0

>Number:         19957
>Category:       bin
>Synopsis:       request for static linked make
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          wish
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 15 14:30:00 PDT 2000
>Closed-Date:    Wed Aug 2 05:40:08 PDT 2000
>Last-Modified:  Wed Aug 02 05:41:39 PDT 2000
>Originator:     Gaspar Chilingarov
>Release:        5.0-current
>Organization:
WEB Ltd., http://www.web.am
>Environment:
>Description:
Because i'm using -current version i frequently get corrupted libc - so the one way to avoid this problem is to put /dev/ad :) in other computer mount it there and overwrite with old working version .

i have suggestion to have /*also*/ staticaly linked make to use it in case when make fails to load .

here it is a small patch to be plased in /usr/src/usr.bin/make.static

if you find this useless you can close pr without confirming with me.

>How-To-Repeat:
hmm .... cat /etc/tty > /usr/bin/libc.so 
:)
do not forget to remove schg flag :)


>Fix:
PROG=   make.static
NOSHARED=yes
.PATH: ${.CURDIR}/../make
CFLAGS+= -I${.CURDIR}/../make
SRCS=   arch.c buf.c compat.c cond.c dir.c for.c hash.c job.c main.c \
    make.c parse.c str.c suff.c targ.c var.c util.c
SRCS+=  lstAppend.c lstAtEnd.c lstAtFront.c lstClose.c lstConcat.c \
    lstDatum.c lstDeQueue.c lstDestroy.c lstDupl.c lstEnQueue.c \
    lstFind.c lstFindFrom.c lstFirst.c lstForEach.c lstForEachFrom.c \
    lstInit.c lstInsert.c lstIsAtEnd.c lstIsEmpty.c lstLast.c \
    lstMember.c lstNext.c lstOpen.c lstRemove.c lstReplace.c lstSucc.c
.PATH:  ${.CURDIR}/../make/lst.lib
NOMAN=yes
.include <bsd.prog.mk>



>Release-Note:
>Audit-Trail:

From: Johan Karlsson <Johan.Karlsson@sm.luth.se>
To: freebsd-gnats-submit@FreeBSD.org, nm@web.am
Cc:  
Subject: Re: bin/19957: request for static linked make
Date: Wed, 02 Aug 2000 14:30:20 +0200

 Hi
 
 I do not think this will buy us anything since
 in order to recompile libc, gcc is used which also 
 is dynamic....
 Hence alot of programs have to be static :-)
 
 I guess if you realy want to you can make all binaries static by
 make -DNOSHARED buildworld
 but I think that would increase the size of /usr alot.
 
 /Johan K
 -- 
 Johan Karlsson              Phone : +46 (0)920 720 16 
 Systemteknik, Datalogi      Fax   : +46 (0)920 721 91 
 Lule Tekniska Universitet  E-mail: Johan.Karlsson@SM.LuTH.SE
 S-971 87 LULE, SWEDEN
 
State-Changed-From-To: open->closed 
State-Changed-By: sheldonh 
State-Changed-When: Wed Aug 2 05:40:08 PDT 2000 
State-Changed-Why:  
As Johan points out, the buildworld target is sensitive to 
the NOSHARED make variable, which seems to be what you want. 

I don't think it's feasible for us to introduce a bunch of 
WANT_STATIC_FOO variables, though. 

If you find parts of FreeBSD which do not honour NOSHARED, 
please do let us know. :-) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=19957 
>Unformatted:
