PERL = @PerlCmd@
RM = rm -f
MV = mv
-CP = cp -f
+CP = cp
LN_S = @LN_S@
CHMOD = chmod
INSTALL = @INSTALL@
echo " if $$""running_under_some_shell;" >> bin/$(platform)/$(package)-$(version)/$$i; \
echo $$"bindir='$(bindir)';" >> bin/$(platform)/$(package)-$(version)/$$i; \
echo $$"libdir='$(real_libdir)';" >> bin/$(platform)/$(package)-$(version)/$$i; \
+ echo $$"libexecdir='$(real_libdir)';" >> bin/$(platform)/$(package)-$(version)/$$i; \
echo $$"datadir='$(real_datadir)';" >> bin/$(platform)/$(package)-$(version)/$$i; \
cat bin/$(platform)/$(package)-$(version)/$$i.prl >> bin/$(platform)/$(package)-$(version)/$$i; \
$(CHMOD) $(BIN_PERMS) bin/$(platform)/$(package)-$(version)/$$i; \
echo " if $$""running_under_some_shell;" >> lib/$(platform)/$(package)-$(version)/$$i; \
echo $$"bindir='$(bindir)';" >> lib/$(platform)/$(package)-$(version)/$$i; \
echo $$"libdir='$(real_libdir)';" >> lib/$(platform)/$(package)-$(version)/$$i; \
+ echo $$"libexecdir='$(real_libdir)';" >> lib/$(platform)/$(package)-$(version)/$$i; \
echo $$"datadir='$(real_datadir)';" >> lib/$(platform)/$(package)-$(version)/$$i; \
cat lib/$(platform)/$(package)-$(version)/$$i.prl >> lib/$(platform)/$(package)-$(version)/$$i; \
$(CHMOD) $(BIN_PERMS) lib/$(platform)/$(package)-$(version)/$$i; \
$TargetPlatform = $TARGETPLATFORM;
-$TopPwd = "${TOP_PWD}";
-$InstBinDirGhc = "${bindir}";
-$InstLibDirGhc = "${libdir}";
-$InstDataDirGhc = "${datadir}";
-$InstSysLibDir = ( $INSTALLING ) ? "${InstLibDirGhc}/hslibs" : "$TopPwd/hslibs";
+$TopPwd = "${TOP_PWD}";
+$InstBinDirGhc = "${bindir}";
+$InstLibDirGhc = "${libdir}";
+$InstLibexecDirGhc = "${libexecdir}";
+$InstDataDirGhc = "${datadir}";
+$InstSysLibDir = ( $INSTALLING ) ? "${InstLibDirGhc}/hslibs" :
+ "$TopPwd/hslibs";
$Status = 0; # just used for exit() status
$Verbose = '';
@Files_to_tidy = (); # files we nuke in the case of abnormal termination
-$Unlit = ( $INSTALLING ) ? "$InstLibDirGhc/unlit"
+$Unlit = ( $INSTALLING ) ? "$InstLibexecDirGhc/unlit"
: "$TopPwd/${CURRENT_DIR}/${GHC_UNLIT}";
$Cp = $CP;
$Time = '';
$HsCpp = # but this is re-set to "cat" (after options) if -cpp not seen
- ( $INSTALLING ) ? "$InstLibDirGhc/hscpp"
+ ( $INSTALLING ) ? "$InstLibexecDirGhc/hscpp"
: "$TopPwd/${CURRENT_DIR}/${GHC_HSCPP}";
@HsCpp_flags = ();
$genSPECS_flag = ''; # See ../utils/hscpp/hscpp.prl
-$HsC = ( $INSTALLING ) ? "$InstLibDirGhc/hsc"
+$HsC = ( $INSTALLING ) ? "$InstLibexecDirGhc/hsc"
: "$TopPwd/${CURRENT_DIR}/${GHC_HSC}";
# For PVM fiends only
-$SysMan = ( $INSTALLING ) ? "$InstLibDirGhc/SysMan"
+$SysMan = ( $INSTALLING ) ? "$InstLibexecDirGhc/SysMan"
: "$TopPwd/${CURRENT_DIR}/${GHC_SYSMAN}";
@Unlit_flags = ();
# we know how to *mangle* asm for X86
unshift(@CcRegd_flags, ('-D__STG_REV_TBLS__'));
unshift(@CcRegd_flags, ('-DSTACK_CHECK_BY_PAGE_FAULT=1'))
- if $StkChkByPageFaultOK;
+ if $StkChkByPageFaultOK
&& $TargetPlatform !~ /nextstep/;
# I do not know how to do STACK_CHECK_BY_PAGE_FAULT
# on NeXTs (my fault, not theirs), so I don't.
# we know how to *mangle* asm for m68k
unshift (@CcRegd_flags, ('-D__STG_REV_TBLS__'));
unshift (@CcRegd_flags, ('-DSTACK_CHECK_BY_PAGE_FAULT=1'))
- if $StkChkByPageFaultOK;
+ if $StkChkByPageFaultOK
&& $TargetPlatform !~ /nextstep/;
# I do not know how to do STACK_CHECK_BY_PAGE_FAULT
# on NeXTs (my fault, not theirs), so I don't.
# CaS
- &&
+
# -fno-defer-pop : for the .hc files, we want all the pushing/
# popping of args to routines to be explicit; if we let things
# be deferred 'til after an STGJUMP, imminent death is certain!
$(RM) $$i.tmp; \
echo "eval 'exec $(PERL) -S $$$""0 $$""{1+\"$$$""@\"}'" > $$i.tmp ; \
echo " if $$""running_under_some_shell;" >> $$i.tmp ; \
- echo $$"bindir='$(bindir);'" >> $$i.tmp ; \
+ echo $$"bindir='$(bindir)';" >> $$i.tmp ; \
echo $$"libdir='$(real_libdir)';" >> $$i.tmp ; \
echo $$"datadir='$(real_datadir)';" >> $$i.tmp ; \
cat $$i >> $$i.tmp ; \
$(RM) $$i.tmp; \
echo "eval 'exec $(PERL) -S $$$""0 $$""{1+\"$$$""@\"}'" > $$i.tmp ; \
echo " if $$""running_under_some_shell;" >> $$i.tmp ; \
- echo $$"bindir='$(bindir);'" >> $$i.tmp ; \
+ echo $$"bindir='$(bindir)';" >> $$i.tmp ; \
echo $$"libdir='$(real_libdir)';" >> $$i.tmp ; \
echo $$"datadir='$(real_datadir)';" >> $$i.tmp ; \
cat $$i >> $$i.tmp ; \
done
endif
else
- for i in $(INSTALL_SCRIPTS); do \
+ for i in $(INSTALL_LIB_SCRIPTS); do \
$(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libdir); \
done
endif
endif
+ifneq "$(INSTALL_LIBEXEC_SCRIPTS)" ""
+install:: $(INSTALL_LIBEXEC_SCRIPTS)
+ifeq "$(INTERP)" "perl"
+ifneq "$(BIN_DIST)" "1"
+ @for i in $(INSTALL_LIBEXEC_SCRIPTS); do \
+ $(RM) $$i.tmp; \
+ echo "eval 'exec $(PERL) -S $$$""0 $$""{1+\"$$$""@\"}'" > $$i.tmp ; \
+ echo " if $$""running_under_some_shell;" >> $$i.tmp ; \
+ echo $$"bindir='$(bindir)';" >> $$i.tmp ; \
+ echo $$"libdir='$(real_libdir)';" >> $$i.tmp ; \
+ echo $$"datadir='$(real_datadir)';" >> $$i.tmp ; \
+ cat $$i >> $$i.tmp ; \
+ echo $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libexecdir) ; \
+ $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i.tmp $(libexecdir)/$$i ; \
+ $(RM) $$i.tmp; \
+ done
+else
+ for i in $(INSTALL_LIBEXEC_SCRIPTS); do \
+ $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libexecdir); \
+ done
+endif
+else
+ for i in $(INSTALL_LIBEXEC_SCRIPTS); do \
+ $(INSTALL_PROGRAM) $(INSTALL_OPTS) $$i $(libexecdir); \
+ done
+endif
+endif
+
ifneq "$(INSTALL_LIBS)" ""
install:: $(INSTALL_LIBS)
for i in $(INSTALL_LIBS); do \