change Mac default build to put frameworks in plt/lib
svn: r1692
This commit is contained in:
parent
598921d7fa
commit
5ea77942db
|
@ -488,7 +488,10 @@ _embedr-sig.ss_ library provides the signature, _compiler:embed^_.
|
|||
prefix start "@executable_path/" works for a
|
||||
MzScheme-based application, the corresponding prefix
|
||||
start for a MrEd-based application is
|
||||
"@executable_path/../../../"
|
||||
"@executable_path/../../../"; if #f is supplied, the
|
||||
executable's framework path is left as-is, otherwise
|
||||
a relative path to a framework in the installation's "lib"
|
||||
directory is converted to an absolute path
|
||||
|
||||
_'subsystem_ (Windows) - a symbol, either 'console for a console
|
||||
application or 'windows for a consoleless application;
|
||||
|
|
|
@ -7,10 +7,11 @@
|
|||
(lib "port.ss")
|
||||
(lib "moddep.ss" "syntax")
|
||||
(lib "plist.ss" "xml")
|
||||
(lib "process.ss")
|
||||
(lib "plthome.ss" "setup")
|
||||
"embed-sig.ss"
|
||||
"private/winicon.ss"
|
||||
"private/winsubsys.ss")
|
||||
"private/winsubsys.ss"
|
||||
"private/macfw.ss")
|
||||
|
||||
(provide compiler:embed@)
|
||||
|
||||
|
@ -46,6 +47,14 @@
|
|||
(fixup #rx#"[.][aA][pP][pP]$" #".app")
|
||||
path)]
|
||||
[else path])))
|
||||
|
||||
(define (mac-dest->executable dest mred?)
|
||||
(if mred?
|
||||
(let-values ([(base name dir?) (split-path dest)])
|
||||
(build-path dest
|
||||
"Contents" "MacOS"
|
||||
(path-replace-suffix name #"")))
|
||||
dest))
|
||||
|
||||
;; Find executable relative to the "mzlib"
|
||||
;; collection.
|
||||
|
@ -336,7 +345,7 @@
|
|||
(format "~a~a" prefix name))
|
||||
mappings)
|
||||
(unbox codes)))))))))))
|
||||
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define (make-module-name-resolver code-l)
|
||||
|
@ -512,28 +521,22 @@
|
|||
(when (file-exists? dest)
|
||||
(delete-file dest)))
|
||||
(raise x))])
|
||||
(let ([m (and (eq? 'macosx (system-type))
|
||||
(assq 'framework-root aux))])
|
||||
(when m
|
||||
(for-each (lambda (p)
|
||||
(system* "/usr/bin/install_name_tool"
|
||||
"-change"
|
||||
(format "~a.framework/Versions/~a/~a" p (version) p)
|
||||
(format "~a~a.framework/Versions/~a/~a"
|
||||
(cdr m)
|
||||
p (version) p)
|
||||
(let ([dest (if mred?
|
||||
(let-values ([(base name dir?) (split-path dest)])
|
||||
(build-path dest
|
||||
"Contents" "MacOS"
|
||||
(path-replace-suffix name #"")))
|
||||
dest)])
|
||||
(if (path? dest)
|
||||
(path->string dest)
|
||||
dest))))
|
||||
(if mred?
|
||||
'("PLT_MzScheme" "PLT_MrEd")
|
||||
'("PLT_MzScheme")))))
|
||||
(when (eq? 'macosx (system-type))
|
||||
(let ([m (assq 'framework-root aux)])
|
||||
(if m
|
||||
(when (cdr m)
|
||||
(update-framework-path (cdr m)
|
||||
(mac-dest->executable dest mred?)
|
||||
mred?))
|
||||
;; Check whether we need an absolute path to frameworks:
|
||||
(let ([dest (mac-dest->executable dest mred?)])
|
||||
(when (regexp-match #rx"^@executable_path"
|
||||
(get-current-framework-path dest "PLT_MzScheme"))
|
||||
(update-framework-path (string-append
|
||||
(path->string (build-path plthome "lib"))
|
||||
"/")
|
||||
dest
|
||||
mred?))))))
|
||||
(let ([start (file-size dest-exe)])
|
||||
(with-output-to-file dest-exe
|
||||
(lambda ()
|
||||
|
|
51
collects/compiler/private/macfw.ss
Normal file
51
collects/compiler/private/macfw.ss
Normal file
|
@ -0,0 +1,51 @@
|
|||
|
||||
(module macfw mzscheme
|
||||
(require (lib "process.ss"))
|
||||
|
||||
(provide update-framework-path
|
||||
get-current-framework-path)
|
||||
|
||||
(define (update-framework-path fw-path dest mred?)
|
||||
(let ([dest (if (path? dest)
|
||||
(path->string dest)
|
||||
dest)])
|
||||
(for-each (lambda (p)
|
||||
(system* "/usr/bin/install_name_tool"
|
||||
"-change"
|
||||
(or (get-current-framework-path dest p)
|
||||
(format "~a.framework/Versions/~a/~a" p (version) p))
|
||||
(format "~a~a.framework/Versions/~a/~a"
|
||||
fw-path
|
||||
p (version) p)
|
||||
dest))
|
||||
(if mred?
|
||||
'("PLT_MzScheme" "PLT_MrEd")
|
||||
'("PLT_MzScheme")))))
|
||||
|
||||
(define (get-current-framework-path dest p)
|
||||
(let-values ([(r w) (make-pipe)])
|
||||
(parameterize ([current-output-port w])
|
||||
(system* "/usr/bin/otool"
|
||||
"-L"
|
||||
(if (path? dest)
|
||||
(path->string dest)
|
||||
dest)))
|
||||
(close-output-port w)
|
||||
(let ([m (regexp-match (bytes-append #"[\r\n][ \t]*([^ \t][^\r\n]*"
|
||||
(string->bytes/utf-8 p)
|
||||
#"[^\r\n]*)"
|
||||
#" [(]compatibility version [0-9.]*,"
|
||||
#" current version [0-9.]*[)][\r\n]")
|
||||
r)])
|
||||
(if m
|
||||
(bytes->string/utf-8 (cadr m))
|
||||
(begin
|
||||
(fprintf (current-error-port)
|
||||
"warning: cannot find existing link for ~a in ~a\n"
|
||||
p dest)
|
||||
#f))))))
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -22,47 +22,21 @@ executables.
|
|||
The optional `aux' argument is an association list for
|
||||
platform-specific options (i.e., it is a list of pairs where the
|
||||
first element of the pair is a key symbol and the second element is
|
||||
the value for that key). The currently supported keys are as
|
||||
follows:
|
||||
the value for that key). See `make-embedding-executable' (from the
|
||||
"compiler" collection) for a list that applies to Windows launchers
|
||||
and Mac OS X MrEd launchers; the following additional associations
|
||||
apply to launchers:
|
||||
|
||||
_'icns_ (Mac OS X) - an icon file path (suffix ".icns") to
|
||||
use for the executable's desktop icon
|
||||
|
||||
_'ico_ (Windows) - an icon file path (suffix ".ico") to
|
||||
use for the executable's desktop icon; the executable
|
||||
will have 16x16, 32x32, and 48x48 icons at 4-bit,
|
||||
8-bit, and 32-bit (RBBA) depths; the icons are
|
||||
copied and generated from any 16x16, 32x32, and 48x48
|
||||
icons in the ".ico" file
|
||||
|
||||
_'independent?_ (Windows) - a boolean; #t creates an old-style
|
||||
_'independent?_ (Windows) - a boolean; #t creates an old-style
|
||||
launcher that is independent of the MzScheme or MrEd
|
||||
binary, like "Setup PLT.exe"
|
||||
binary, like "Setup PLT.exe"; no other `aux'
|
||||
associations are used for an old-style launcher
|
||||
|
||||
-'exe-name_ (Mac OS X, MrEd 'script[-3m] variant) - provides the
|
||||
base name for a 'normal variant launcher, which the
|
||||
script will call ignoring `args'; if this name is not
|
||||
script will call (ignoring `args'); if this name is not
|
||||
provided, the script will go through the MrEd executable
|
||||
|
||||
_'creator_ (Mac OS X) - provides a 4-character string to use as
|
||||
the application signature.
|
||||
|
||||
_'file-types_ (Mac OS X) - provides a list of association lists,
|
||||
one for each type of file handled by the application;
|
||||
each association is a 2-element list, where the first (key)
|
||||
element is a string recognized by Finder, and the second
|
||||
element is a plist value (see doc.txt in the "xml" collection);
|
||||
see plt/collects/drscheme/drscheme.filetypes for an example.
|
||||
|
||||
-'resource-files_ (Mac OS X) - extra files to copy into the
|
||||
"Resources" directory of the generated executable
|
||||
|
||||
_'forget-exe?_ (Windows, Mac OS X) - a boolean; #t does not
|
||||
preserve the original executable name for
|
||||
`(find-system-path 'exec-file)'; the main consequence is
|
||||
that library collections will be found relative to the
|
||||
launcher instead of the original executable
|
||||
|
||||
See also `build-aux-from-path' below. The default `aux' is `null'.
|
||||
|
||||
For Unix/X, the script created by `make-mred-launcher' detects and
|
||||
|
|
|
@ -729,10 +729,11 @@
|
|||
(for-each
|
||||
(lambda (mzln mzll mzlf)
|
||||
(let ([p (program-launcher-path mzln)]
|
||||
[aux (cons `(exe-name . ,mzln)
|
||||
(build-aux-from-path
|
||||
(build-path (cc-path cc)
|
||||
(path-replace-suffix (or mzll mzln) #""))))])
|
||||
[aux (list* `(exe-name . ,mzln)
|
||||
'(framework-root . #f)
|
||||
(build-aux-from-path
|
||||
(build-path (cc-path cc)
|
||||
(path-replace-suffix (or mzll mzln) #""))))])
|
||||
(unless (up-to-date? p aux)
|
||||
(setup-printf "Installing ~a~a launcher ~a"
|
||||
kind (if (eq? (current-launcher-variant) 'normal)
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
(load-relative "pretty.ss")
|
||||
|
||||
(load-relative "package.ss")
|
||||
;; (load-relative "package.ss")
|
||||
|
||||
(load-relative "contract-test.ss")
|
||||
|
||||
|
|
17
src/configure
vendored
17
src/configure
vendored
|
@ -314,7 +314,7 @@ ac_subdirs_all="$ac_subdirs_all foreign/gcc/libffi"
|
|||
ac_subdirs_all="$ac_subdirs_all llvm/llvm"
|
||||
ac_subdirs_all="$ac_subdirs_all wxcommon/jpeg"
|
||||
ac_subdirs_all="$ac_subdirs_all wxxt/src/x/wbuild"
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CXX CXXFLAGS ac_ct_CXX CXXCPP RANLIB ac_ct_RANLIB PERL X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS PREFLAGS COMPFLAGS PROFFLAGS SED AS AR STATIC_AR ARFLAGS WBUILD CC_FOR_BUILD REZ MZLINKER PLAIN_CC DYN_CFLAGS x_includes x_libraries OPTIONS MZOPTIONS CGCOPTIONS GC2OPTIONS MROPTIONS GCDIR MZBINTARGET MZINSTALLTARGET EXTRA_GMP_OBJ OSX NOT_OSX FRAMEWORK_INSTALL_DIR MREDLINKER LIBSFX WXLIBS WXVARIANT ICP MRLIBINSTALL LIBFINISH MAKE_MRED MAKE_MRED3M MAKE_MREDINSTALL MAKE_MREDINSTALL3M MAKE_WBUILD MAKE_COPYTREE MAKE_FINISH WXPRECOMP USE_WXPRECOMP INCLUDEDEP WX_MMD_FLAG JPEG_A JPEG_INC ZLIB_A ZLIB_INC PNG_A OSKHOME EXTRA_OSK_LIBS FOREIGN_OBJSLIB_IF_USED FOREIGN_LIB_IF_USED FOREIGN_OBJSLIB FOREIGN_CONVENIENCE FOREIGNTARGET LIBMZSCHEME_DEP LIBMRED_DEP LLVMTARGET LTO LTA subdirs LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP CXX CXXFLAGS ac_ct_CXX CXXCPP RANLIB ac_ct_RANLIB PERL X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS PREFLAGS COMPFLAGS PROFFLAGS SED AS AR STATIC_AR ARFLAGS WBUILD CC_FOR_BUILD REZ MZLINKER PLAIN_CC DYN_CFLAGS x_includes x_libraries OPTIONS MZOPTIONS CGCOPTIONS GC2OPTIONS MROPTIONS GCDIR MZBINTARGET MZINSTALLTARGET EXTRA_GMP_OBJ OSX NOT_OSX FRAMEWORK_INSTALL_DIR FRAMEWORK_REL_INSTALL MREDLINKER LIBSFX WXLIBS WXVARIANT ICP MRLIBINSTALL LIBFINISH MAKE_MRED MAKE_MRED3M MAKE_MREDINSTALL MAKE_MREDINSTALL3M MAKE_WBUILD MAKE_COPYTREE MAKE_FINISH WXPRECOMP USE_WXPRECOMP INCLUDEDEP WX_MMD_FLAG JPEG_A JPEG_INC ZLIB_A ZLIB_INC PNG_A OSKHOME EXTRA_OSK_LIBS FOREIGN_OBJSLIB_IF_USED FOREIGN_LIB_IF_USED FOREIGN_OBJSLIB FOREIGN_CONVENIENCE FOREIGNTARGET LIBMZSCHEME_DEP LIBMRED_DEP LLVMTARGET LTO LTA subdirs LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
|
@ -890,6 +890,7 @@ Optional Features:
|
|||
--enable-noopt drop -O C flags
|
||||
--enable-xonx compile X11 (not Quartz) MrEd for Mac OS X
|
||||
--enable-libfw install Mac OS X frameworks to /Library/Frameworks
|
||||
--enable-userfw install Mac OS X frameworks to ~/Library/Frameworks
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
|
@ -1508,6 +1509,11 @@ fi;
|
|||
if test "${enable_libfw+set}" = set; then
|
||||
enableval="$enable_libfw"
|
||||
|
||||
fi;
|
||||
# Check whether --enable-libfw or --disable-libfw was given.
|
||||
if test "${enable_libfw+set}" = set; then
|
||||
enableval="$enable_libfw"
|
||||
|
||||
fi;
|
||||
|
||||
###### Get OS Type #######
|
||||
|
@ -8622,8 +8628,13 @@ case $OS in
|
|||
enable_pthread=no
|
||||
if test "${enable_libfw}" = "yes" ; then
|
||||
FRAMEWORK_INSTALL_DIR=/Library/Frameworks
|
||||
else
|
||||
FRAMEWORK_REL_INSTALL=no
|
||||
elif test "${enable_userfw}" = "yes" ; then
|
||||
FRAMEWORK_INSTALL_DIR=~/Library/Frameworks
|
||||
FRAMEWORK_REL_INSTALL=no
|
||||
else
|
||||
FRAMEWORK_INSTALL_DIR='${LIBIDIR}'
|
||||
FRAMEWORK_REL_INSTALL=yes
|
||||
fi
|
||||
else
|
||||
PREFLAGS="$PREFLAGS -DXONX "
|
||||
|
@ -11068,6 +11079,7 @@ LIBS="$LIBS $EXTRALIBS"
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
mk_needed_dir()
|
||||
|
@ -11903,6 +11915,7 @@ s,@EXTRA_GMP_OBJ@,$EXTRA_GMP_OBJ,;t t
|
|||
s,@OSX@,$OSX,;t t
|
||||
s,@NOT_OSX@,$NOT_OSX,;t t
|
||||
s,@FRAMEWORK_INSTALL_DIR@,$FRAMEWORK_INSTALL_DIR,;t t
|
||||
s,@FRAMEWORK_REL_INSTALL@,$FRAMEWORK_REL_INSTALL,;t t
|
||||
s,@MREDLINKER@,$MREDLINKER,;t t
|
||||
s,@LIBSFX@,$LIBSFX,;t t
|
||||
s,@WXLIBS@,$WXLIBS,;t t
|
||||
|
|
|
@ -108,10 +108,10 @@ MRFW = PLT_MrEd.framework/Versions/$(FWVERSION)/PLT_MrEd
|
|||
MRFWRES = PLT_MrEd.framework/Versions/$(FWVERSION)/Resources/PLT_MrEd.rsrc
|
||||
|
||||
$(MRFW) : $(MZSCHEME) $(MREDOBJECTS) $(@WXLIBS@) $(MRSTATIC_STUB)
|
||||
$(MREDLINKER) $(MREDLDFLAGS) -dynamiclib -o $(MRFW) -F../mzscheme -framework PLT_MzScheme $(@WXLIBS@) $(GUILIBS_@WXVARIANT@) @X_EXTRA_LIBS@
|
||||
$(MREDLINKER) $(MREDLDFLAGS) -dynamiclib -o $(MRFW) -Wl,-headerpad_max_install_names -F../mzscheme -framework PLT_MzScheme $(@WXLIBS@) $(GUILIBS_@WXVARIANT@) @X_EXTRA_LIBS@
|
||||
|
||||
MrEd.app/Contents/MacOS/MrEd: $(MRFWRES) $(MRFW) mrmain.@LTO@
|
||||
$(MREDLINKER) -o MrEd.app/Contents/MacOS/MrEd mrmain.@LTO@ -F. -F../mzscheme -framework PLT_MrEd -framework Carbon -framework PLT_MzScheme @PROFFLAGS@
|
||||
$(MREDLINKER) -o MrEd.app/Contents/MacOS/MrEd mrmain.@LTO@ -Wl,-headerpad_max_install_names -F. -F../mzscheme -framework PLT_MrEd -framework Carbon -framework PLT_MzScheme @PROFFLAGS@
|
||||
|
||||
$(MRFWRES): $(srcdir)/../mac/osx_appl.ss $(srcdir)/../mac/cw/MrEd.r
|
||||
rm -rf PLT_MrEd.framework/Resources PLT_MrEd.framework/PLT_MrEd
|
||||
|
@ -234,6 +234,9 @@ install_wx_xt:
|
|||
$(MAKE) @MRLIBINSTALL@
|
||||
cd ..; $(ICP) mred/mred `(cd $(prefix); pwd)`/bin/
|
||||
|
||||
LIBIDIR=$(prefix)/lib
|
||||
BUILDINFO=$(LIBIDIR)/buildinfo
|
||||
|
||||
MRFWDIR = @FRAMEWORK_INSTALL_DIR@/PLT_MrEd.framework
|
||||
|
||||
install_wx_mac:
|
||||
|
@ -241,6 +244,7 @@ install_wx_mac:
|
|||
rm -rf $(MRFWDIR)/Versions/$(FWVERSION)/Resources
|
||||
rm -f $(MRFWDIR)/PLT_MrEd
|
||||
rm -rf $(MRFWDIR)/Resources
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then rm -rf $(MZFWDIR) ; fi
|
||||
if [ ! -d @FRAMEWORK_INSTALL_DIR@ ] ; then mkdir @FRAMEWORK_INSTALL_DIR@ ; fi
|
||||
if [ ! -d $(MRFWDIR) ] ; then mkdir $(MRFWDIR) ; fi
|
||||
if [ ! -d $(MRFWDIR)/Versions ] ; then mkdir $(MRFWDIR)/Versions ; fi
|
||||
|
@ -255,9 +259,9 @@ install_wx_mac:
|
|||
if [ ! -d $(prefix)/collects ] ; then mkdir $(prefix)/collects ; fi
|
||||
if [ ! -d $(prefix)/collects/launcher ] ; then mkdir $(prefix)/collects/launcher ; fi
|
||||
cd ..; $(ICP) -r mred/Starter.app $(prefix)/collects/launcher/.
|
||||
|
||||
LIBIDIR=$(prefix)/lib
|
||||
BUILDINFO=$(LIBIDIR)/buildinfo
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MzScheme.framework/Versions/$(FWVERSION)/PLT_MzScheme" "@executable_path/../../../lib/PLT_MzScheme.framework/Versions/$(FWVERSION)/PLT_MzScheme" "$(MRFWDIR)/Versions/$(FWVERSION)/PLT_MrEd" ; fi
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MzScheme.framework/Versions/$(FWVERSION)/PLT_MzScheme" "@executable_path/../../../lib/PLT_MzScheme.framework/Versions/$(FWVERSION)/PLT_MzScheme" "$(prefix)/MrEd.app/Contents/MacOS/MrEd" ; fi
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MrEd.framework/Versions/$(FWVERSION)/PLT_MrEd" "@executable_path/../../../lib/PLT_MrEd.framework/Versions/$(FWVERSION)/PLT_MrEd" "$(prefix)/MrEd.app/Contents/MacOS/MrEd" ; fi
|
||||
|
||||
install:
|
||||
$(MAKE) install_@WXVARIANT@
|
||||
|
@ -295,6 +299,9 @@ install-3m_wx_mac:
|
|||
if [ ! -d $(prefix)/collects ] ; then mkdir $(prefix)/collects ; fi
|
||||
if [ ! -d $(prefix)/collects/launcher ] ; then mkdir $(prefix)/collects/launcher ; fi
|
||||
cd ..; $(ICP) -r mred/Starter3m.app $(prefix)/collects/launcher/.
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme" "@executable_path/../../../lib/PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme" "$(MRFWDIR)/Versions/$(FWVERSION)_3m/PLT_MrEd" ; fi
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme" "@executable_path/../../../lib/PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme" "$(prefix)/MrEd3m.app/Contents/MacOS/MrEd3m" ; fi
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MrEd.framework/Versions/$(FWVERSION)_3m/PLT_MrEd" "@executable_path/../../../lib/PLT_MrEd.framework/Versions/$(FWVERSION)_3m/PLT_MrEd" "$(prefix)/MrEd3m.app/Contents/MacOS/MrEd3m" ; fi
|
||||
|
||||
install-3m:
|
||||
$(MAKE) install-3m_@WXVARIANT@
|
||||
|
|
|
@ -1366,13 +1366,13 @@ MRFW = PLT_MrEd.framework/Versions/$(FWVERSION)_3m/PLT_MrEd
|
|||
MRFWRES = PLT_MrEd.framework/Versions/$(FWVERSION)_3m/Resources/PLT_MrEd.rsrc
|
||||
|
||||
../MrEd3m.app/Contents/MacOS/MrEd3m: $(MRFWRES) $(MRFW) mrmain.@LTO@
|
||||
$(MREDLINKER) -o ../MrEd3m.app/Contents/MacOS/MrEd3m mrmain.@LTO@ -F. -F../../mzscheme/gc2 -framework PLT_MrEd -framework Carbon -framework PLT_MzScheme
|
||||
$(MREDLINKER) -o ../MrEd3m.app/Contents/MacOS/MrEd3m mrmain.@LTO@ -Wl,-headerpad_max_install_names -F. -F../../mzscheme/gc2 -framework PLT_MrEd -framework Carbon -framework PLT_MzScheme
|
||||
if [ ! -d ../PLT_MrEd.framework/Versions/$(FWVERSION)_3m ] ; then mkdir ../PLT_MrEd.framework/Versions/$(FWVERSION)_3m ; fi
|
||||
cp $(MRFW) ../$(MRFW)
|
||||
cp -r PLT_MrEd.framework/Versions/$(FWVERSION)_3m/Resources ../PLT_MrEd.framework/Versions/$(FWVERSION)_3m/Resources
|
||||
|
||||
$(MRFW) : $(XOBJS) $(@WXVARIANT@_PLAIN_OBJS)
|
||||
$(MREDLINKER) -dynamiclib -o $(MRFW) -F../../mzscheme/gc2 -framework PLT_MzScheme $(XOBJS) $(@WXVARIANT@_PLAIN_OBJS) $(@WXVARIANT@_LIBS)
|
||||
$(MREDLINKER) -dynamiclib -o $(MRFW) -F../../mzscheme/gc2 -framework PLT_MzScheme -Wl,-headerpad_max_install_names $(XOBJS) $(@WXVARIANT@_PLAIN_OBJS) $(@WXVARIANT@_LIBS)
|
||||
|
||||
$(MRFWRES): $(srcdir)/../../mac/osx_appl.ss $(srcdir)/../../mac/cw/MrEd.r
|
||||
rm -rf PLT_MrEd.framework/Resources PLT_MrEd.framework/PLT_MrEd
|
||||
|
|
|
@ -149,7 +149,7 @@ $(MZFW): libmzscheme.@LIBSFX@ libmzgc.@LIBSFX@ $(SPECIALIZINGOBJECTS)
|
|||
ln -s Versions/$(FWVERSION)/PLT_MzScheme PLT_MzScheme.framework/PLT_MzScheme
|
||||
|
||||
mzscheme@OSX@: $(MZFW) main.@LTO@
|
||||
$(CC) -o mzscheme @PROFFLAGS@ main.@LTO@ -F. -framework PLT_MzScheme
|
||||
$(CC) -o mzscheme @PROFFLAGS@ main.@LTO@ -Wl,-headerpad_max_install_names -F. -framework PLT_MzScheme
|
||||
|
||||
# OSKit ----------------------------------------
|
||||
|
||||
|
@ -252,6 +252,7 @@ clean@OSX@:
|
|||
$(MAKE) clean@NOT_OSX@
|
||||
|
||||
LIBIDIR=`(cd $(prefix); pwd)`/lib
|
||||
BINDIR=`(cd $(prefix); pwd)`/bin
|
||||
BUILDINFO=$(LIBIDIR)/buildinfo
|
||||
ICP=@ICP@
|
||||
|
||||
|
@ -276,7 +277,7 @@ unix-install:
|
|||
cd ..; if [ ! -d $(LIBIDIR) ] ; then mkdir $(LIBIDIR) ; fi
|
||||
cd ..; $(ICP) mzscheme/libmzgc.@LIBSFX@ $(LIBIDIR)/libmzgc.@LIBSFX@
|
||||
cd ..; $(ICP) mzscheme/libmzscheme.@LIBSFX@ $(LIBIDIR)/libmzscheme.@LIBSFX@
|
||||
cd ..; $(ICP) mzscheme/mzscheme `(cd $(prefix); pwd)`/bin/mzscheme
|
||||
cd ..; $(ICP) mzscheme/mzscheme "$(BINDIR)/mzscheme"
|
||||
cd ..; echo 'CC=@CC@' > $(BUILDINFO)
|
||||
cd ..; echo 'CFLAGS=@CFLAGS@ @PREFLAGS@ @COMPFLAGS@' >> $(BUILDINFO)
|
||||
cd ..; echo 'OPTIONS=@OPTIONS@' >> $(BUILDINFO)
|
||||
|
@ -294,12 +295,14 @@ osx-install:
|
|||
$(MAKE) normal-install
|
||||
rm -f $(MZFWDIR)/Versions/$(FWVERSION)/PLT_MzScheme
|
||||
rm -f $(MZFWDIR)/PLT_MzScheme
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then rm -rf $(MZFWDIR) ; fi
|
||||
if [ ! -d @FRAMEWORK_INSTALL_DIR@ ] ; then mkdir @FRAMEWORK_INSTALL_DIR@ ; fi
|
||||
if [ ! -d $(MZFWDIR) ] ; then mkdir $(MZFWDIR) ; fi
|
||||
if [ ! -d $(MZFWDIR)/Versions ] ; then mkdir $(MZFWDIR)/Versions ; fi
|
||||
if [ ! -d $(MZFWDIR)/Versions/$(FWVERSION) ] ; then mkdir $(MZFWDIR)/Versions/$(FWVERSION) ; fi
|
||||
cp $(MZFW) $(MZFWDIR)/Versions/$(FWVERSION)/
|
||||
ln -s Versions/$(FWVERSION)/PLT_MzScheme $(MZFWDIR)/
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MzScheme.framework/Versions/$(FWVERSION)/PLT_MzScheme" "@executable_path/../lib/PLT_MzScheme.framework/Versions/$(FWVERSION)/PLT_MzScheme" "$(BINDIR)/mzscheme" ; fi
|
||||
|
||||
MZFWMMM = PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme
|
||||
|
||||
|
@ -308,6 +311,7 @@ install-3m@OSX@:
|
|||
rm -f $(MZFWDIR)/Versions/$(FWVERSION)_3m/PLT_MzScheme
|
||||
if [ ! -d $(MZFWDIR)/Versions/$(FWVERSION)_3m ] ; then mkdir $(MZFWDIR)/Versions/$(FWVERSION)_3m ; fi
|
||||
cp $(MZFWMMM) $(MZFWDIR)/Versions/$(FWVERSION)_3m/
|
||||
if [ @FRAMEWORK_REL_INSTALL@ = yes ] ; then /usr/bin/install_name_tool -change "PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme" "@executable_path/../lib/PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme" "$(BINDIR)/mzscheme3m" ; fi
|
||||
|
||||
WLIBIDIR=`(cd $(prefix); pwd)`/lib
|
||||
WBUILDINFO=$(WLIBIDIR)/buildinfo
|
||||
|
|
|
@ -63,6 +63,7 @@ AC_ARG_ENABLE(noopt, [ --enable-noopt drop -O C flags])
|
|||
|
||||
AC_ARG_ENABLE(xonx, [ --enable-xonx compile X11 (not Quartz) MrEd for Mac OS X])
|
||||
AC_ARG_ENABLE(libfw, [ --enable-libfw install Mac OS X frameworks to /Library/Frameworks])
|
||||
AC_ARG_ENABLE(libfw, [ --enable-userfw install Mac OS X frameworks to ~/Library/Frameworks])
|
||||
|
||||
###### Get OS Type #######
|
||||
|
||||
|
@ -494,8 +495,13 @@ case $OS in
|
|||
enable_pthread=no
|
||||
if test "${enable_libfw}" = "yes" ; then
|
||||
FRAMEWORK_INSTALL_DIR=/Library/Frameworks
|
||||
else
|
||||
FRAMEWORK_REL_INSTALL=no
|
||||
elif test "${enable_userfw}" = "yes" ; then
|
||||
FRAMEWORK_INSTALL_DIR=~/Library/Frameworks
|
||||
FRAMEWORK_REL_INSTALL=no
|
||||
else
|
||||
FRAMEWORK_INSTALL_DIR='${LIBIDIR}'
|
||||
FRAMEWORK_REL_INSTALL=yes
|
||||
fi
|
||||
else
|
||||
PREFLAGS="$PREFLAGS -DXONX "
|
||||
|
@ -1044,6 +1050,7 @@ AC_SUBST(EXTRA_GMP_OBJ)
|
|||
AC_SUBST(OSX)
|
||||
AC_SUBST(NOT_OSX)
|
||||
AC_SUBST(FRAMEWORK_INSTALL_DIR)
|
||||
AC_SUBST(FRAMEWORK_REL_INSTALL)
|
||||
|
||||
AC_SUBST(MREDLINKER)
|
||||
AC_SUBST(LIBSFX)
|
||||
|
|
|
@ -305,7 +305,7 @@ $(MZFWMMM): $(OBJS) $(EXTRA_OBJS_T)
|
|||
ln -s Versions/$(FWVERSION)_3m/PLT_MzScheme PLT_MzScheme.framework/PLT_MzScheme
|
||||
|
||||
../mzscheme3m@OSX@: $(MZFWMMM) main.@LTO@
|
||||
$(CC) -o ../mzscheme3m main.@LTO@ -F. -framework PLT_MzScheme
|
||||
$(CC) -o ../mzscheme3m main.@LTO@ -Wl,-headerpad_max_install_names -F. -framework PLT_MzScheme
|
||||
if [ ! -d ../PLT_MzScheme.framework/Versions/$(FWVERSION)_3m ] ; then mkdir ../PLT_MzScheme.framework/Versions/$(FWVERSION)_3m ; fi
|
||||
cp PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme ../PLT_MzScheme.framework/Versions/$(FWVERSION)_3m/PLT_MzScheme
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user