1 ?RCS: $Id: bin.U,v 3.1 1999/07/09 18:20:13 doughera Exp doughera $
3 ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
5 ?RCS: You may redistribute only under the terms of the Artistic Licence,
6 ?RCS: as specified in the README file that comes with the distribution.
7 ?RCS: You may reuse parts of this distribution only within the terms of
8 ?RCS: that same Artistic Licence; a copy of which may be found at the root
9 ?RCS: of the source tree for dist 3.0.
12 ?RCS: Revision 3.1 1999/07/09 18:20:13 doughera
13 ?RCS: Updated for installprefix
15 ?RCS: Revision 3.0.1.4 1995/09/25 09:15:32 ram
16 ?RCS: patch59: unit is now forced to the top of Configure, if possible
18 ?RCS: Revision 3.0.1.3 1995/01/30 14:32:40 ram
19 ?RCS: patch49: can now handle installation prefix changes (from WED)
21 ?RCS: Revision 3.0.1.2 1994/08/29 16:05:28 ram
22 ?RCS: patch32: now uses installation prefix
24 ?RCS: Revision 3.0.1.1 1993/09/13 15:56:51 ram
25 ?RCS: patch10: made prompting more explicit (WAD)
27 ?RCS: Revision 3.0 1993/08/18 12:05:26 ram
28 ?RCS: Baseline for dist 3.0 netwide release.
30 ?MAKE:bin binexp installbin userelocatableinc initialinstalllocation: \
31 Myread Prefixit Getfile Setvar Setprefixvar Oldconfig \
33 ?MAKE: -pick add $@ %<
35 ?LINT:change prefixexp
36 ?LINT:change prefixvar
37 ?LINT:change installprefixexp
41 ?S: This variable holds the name of the directory in which the user wants
42 ?S: to put publicly executable images for the package in question. It
43 ?S: is most often a local directory such as /usr/local/bin. Programs using
44 ?S: this variable must be prepared to deal with ~name substitution.
48 ?S: This is the same as the bin variable, but is filename expanded at
49 ?S: configuration time, for use in your makefiles.
53 ?S: This variable is the same as binexp unless AFS is running in which case
54 ?S: the user is explicitely prompted for it. This variable should always
55 ?S: be used in your makefiles for maximum portability.
57 ?D:userelocatableinc=''
59 ?S: This variable is set to true to indicate that perl should relocate
60 ?S: @INC entries at runtime based on the path to the perl binary.
61 ?S: Any @INC paths starting ".../" are relocated relative to the directory
62 ?S: containing the perl binary, and a logical cleanup of the path is then
63 ?S: made around the join point (removing "dir/../" pairs)
65 ?S:initialinstalllocation:
66 ?S: When userelocatableinc is true, this variable holds the location
67 ?S: that make install should copy the perl binary to, with all the
68 ?S: run-time relocatable paths calculated from this at install time.
69 ?S: When used, it is initialised to the original value of binexp, and
70 ?S: then binexp is set to '.../', as the other binaries are found
71 ?S: relative to the perl binary.
74 ?C: This symbol holds the path of the bin directory where the package will
75 ?C: be installed. Program must be prepared to deal with ~name substitution.
78 ?C: This symbol is the filename expanded version of the BIN symbol, for
79 ?C: programs that do not want to deal with that at run-time.
81 ?C:PERL_RELOCATABLE_INC:
82 ?C: This symbol, if defined, indicates that we'd like to relocate entries
83 ?C: in @INC at run time based on the location of the perl binary.
85 ?H:#define BIN "$bin" /**/
86 ?H:#define BIN_EXP "$binexp" /**/
87 ?H:#define PERL_RELOCATABLE_INC "$userelocatableinc" /**/
89 ?D:bin='/usr/local/bin'
90 : determine where public executables go
95 rp='Pathname where the public executables will reside?'
97 if $test "X$ansexp" != "X$binexp"; then
101 : XXX Bug? -- ignores Configure -Dinstallprefix setting.
102 : XXX If this is fixed, also fix the "start perl" hunk below, which relies on
103 : this via initialinstalllocation
106 case "$userelocatableinc" in
107 $define|true|[yY]*) dflt='y' ;;
112 Would you like to build Perl so that the installation is relocatable, so that
113 library paths in @INC are determined relative to the path of the perl binary?
114 This is not advised for system Perl installs, or if you need to run setid
115 scripts or scripts under taint mode.
117 If this doesn't make any sense to you, just accept the default '$dflt'.
119 rp='Use relocatable @INC?'
122 y|Y) val="$define" ;;
125 set userelocatableinc
128 initialinstalllocation="$binexp"
129 : Default prefix is now "up one level from where the binaries are"
130 case "$userelocatableinc" in
136 installprefixexp=".../.."