diff options
author | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-17 18:28:58 +0000 |
---|---|---|
committer | Adrian Robert <Adrian.B.Robert@gmail.com> | 2008-07-17 18:28:58 +0000 |
commit | 4537179d4606df6d4258b067cec2bf1b8fff5365 (patch) | |
tree | 2001a3fdcb53a5fcee08799d7adbaeace75c89a6 /nextstep | |
parent | 2a7973b62722e292302d6c03200771d33cb890bf (diff) | |
download | emacs-4537179d4606df6d4258b067cec2bf1b8fff5365.tar.gz |
make more parallel to other platforms
Diffstat (limited to 'nextstep')
-rw-r--r-- | nextstep/ChangeLog | 9 | ||||
-rw-r--r-- | nextstep/FOR-RELEASE | 22 | ||||
-rw-r--r-- | nextstep/INSTALL | 77 | ||||
-rw-r--r-- | nextstep/README (renamed from nextstep/README.txt) | 55 | ||||
-rwxr-xr-x | nextstep/compile | 243 |
5 files changed, 101 insertions, 305 deletions
diff --git a/nextstep/ChangeLog b/nextstep/ChangeLog index 6909f6a29f4..e1edcbba2a1 100644 --- a/nextstep/ChangeLog +++ b/nextstep/ChangeLog @@ -1,4 +1,13 @@ +2008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com> + + * README.txt + * compile: Remove. + * README + * INSTALL: New files. + * FOR_RELEASE: Updated. + 2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com> + * Cocoa/Contents/Resources/Credits.html: Change URL from sf.net to GNU.org. diff --git a/nextstep/FOR-RELEASE b/nextstep/FOR-RELEASE index 39be79946b0..d02837b0b7d 100644 --- a/nextstep/FOR-RELEASE +++ b/nextstep/FOR-RELEASE @@ -3,7 +3,8 @@ * BUGS * NON-SPECIFIC -** Find out why char_quoted() in syntax.c gets called with Fix char_quoted's workaround. +** Find out why char_quoted() in syntax.c gets called with charpos < 2 || + bytepos < 2 only under NS port. ** Remove Feval calls relating to insert working text in isearch mode. @@ -13,6 +14,9 @@ ** config improvements (Dan C.) +** numeric keysetting bug + + * Mac-related: ** open file:/// URLs @@ -30,8 +34,9 @@ * Cursor: -** ns_cursor_blink_rate: when set in preferences, somehow save the option (but - calling custom-save-all from this causes error) +** ns_cursor_blink_rate: change to use generic code; also, when set in + preferences, somehow save the option (but calling custom-save-all + from this causes error) ** cursor nonerase on certain Leopard and Tiger installations @@ -41,17 +46,6 @@ ** cursor-over bugs w/some scripts (move around in HELLO to see) -Keyboard: - -On a German (PowerBook?) keyboard alt-` produces the correct ˚, without alt modifier only the message “<S-268632064> is undefined” is produced. Peter Maurer’s Key codes shows: - * Modifier Change: ⇧ 131330/0x20102 - * Key Down/Up event: ⇧ 24/0x18 -[note, this is += key on German KB setting on US keyboard] -[unable to reproduce w/German KB setting -- need German laptop?] - -** numeric keysetting bug - - * Other: ** better recog of unicode scripts / Greek / composition diff --git a/nextstep/INSTALL b/nextstep/INSTALL new file mode 100644 index 00000000000..360c57f18ff --- /dev/null +++ b/nextstep/INSTALL @@ -0,0 +1,77 @@ +Copyright (C) 2008 Free Software Foundation, Inc. +See the end of the file for license conditions. + + +Compilation +----------- + +In the top-level directory, use: + + ./configure --with-ns + make -j2 + +Make the -j higher on multi-core systems, usually one higher than number of +cores is best. + +This will compile all the files, but emacs will not be able to be run except +in -nw (terminal) mode. + +In order to run Emacs.app, you must run: + + make install + +This will assemble the app in nextstep/Emacs.app. + +If you pass the --disable-ns-self-contained option to configure, the lisp +files will be installed under whatever 'prefix' is set to (defaults to +/usr/local). The bundle will be smaller, but depend on these resources (may +require 'sudo' for "make install"). + +On OS X you can also open Cocoa/Emacs.xcodeproj and build it again there. You +may need to set some directories. (Note, ZeroLink currently does not work +with Emacs owing to the use of private_extern in the code as well as some +other, unidentifiable problem.) Before doing this you must run "make install" +once as outlined above, to set up the lisp resources. + +On GNUstep, you CAN'T use ProjectCenter, since PC cannot work with files +outside of its project directory. + + +Installation +------------ + +Move nextstep/Emacs.app to any desired install location. + + +Distributions and Universal Binaries +------------------------------------ + +Building as outlined above will create ordinary binaries running on your +architecture only. To create universal binaries, set CFLAGS to include +"-arch ppc -arch i386". + + +Improve Ctrl-G Handling +----------------------- + +To enable a version of the code that handles ctrl-g more responsively in +certain cases -- but may introduce other glitches -- pass +"--enable-cocoa-experimental-ctrl-g" to configure. + + + + +This file is part of GNU Emacs. + +GNU Emacs is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +GNU Emacs is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. diff --git a/nextstep/README.txt b/nextstep/README index f30b488d851..0fe2acfc907 100644 --- a/nextstep/README.txt +++ b/nextstep/README @@ -4,11 +4,12 @@ See the end of the file for license conditions. Emacs.app ========= -This file introduces the NeXTstep-based port of GNU Emacs, known as Emacs.app, - which runs on on many POSIX systems and possibly W32 using the GNUstep - libraries and on MacOS X systems using the Cocoa libraries. The directory - "nextstep" and its subdirectories "Cocoa" and "GNUstep" contain files - relevant to building and running on these systems. +This file introduces the NeXTstep-based port of GNU Emacs, known as +Emacs.app, which runs on on many POSIX systems and possibly W32 using +the GNUstep libraries and on MacOS X systems using the Cocoa +libraries. The directory "nextstep" and its subdirectories "Cocoa" +and "GNUstep" contain files relevant to building and running on these +systems. Those primarily responsible for the port (in chronological order) were: @@ -45,25 +46,7 @@ tweaking. Compilation ----------- -Run "./compile" in this directory, which will create a self-contained -Emacs.app under 'build/'. This can be moved anywhere and run. To create a -shared-lisp build, do "sudo ./compile -shared <install_root>". Set -<install_root> to where the lisp will go, for example /usr/local to end up -with /usr/local/shared/emacs/... - -See the script itself for further details, and customizations. - -You can rerun configure and/or run 'make' manually in the top-level or src -directories to refresh nextstep/build/Emacs.app. (Or edit the "compile" -script.) - -On OS X you can also open Cocoa/Emacs.xcodeproj and build it again there. (Note, -ZeroLink currently does not work with Emacs owing to the use of private_extern -in the code as well as some other, unidentifiable problem.) Before doing this -you must run 'compile' once as outlined above, to set up the lisp resources. - -On GNUstep, you CAN'T use ProjectCenter, since PC cannot work with files -outside of its project directory. +See INSTALL. Usage @@ -100,30 +83,6 @@ and was successively updated to OpenStep, Rhapsody, OS X, and then finally GNUstep, tracking GNU emacs core releases in the meantime. -Files specific to the port --------------------------- - -src/nsfns.m -src/nsfont.m -src/nsgui.h -src/nsimage.m -src/nsmenu.m -src/nsselect.m -src/nsterm.h -src/nsterm.m -lisp/ns-grabenv.el -lisp/ns-carbon-compat.el -lisp/term/ns-win.el -lib-src/mac-fix-env.m -doc/emacs/ns-emacs.texi -etc/Emacs.clr -nextstep/ - - -Files modified for port: - -many -- look for HAVE_NS / NS_IMPL_... #ifdefs - Release History --------------- diff --git a/nextstep/compile b/nextstep/compile deleted file mode 100755 index 5e84d8c0c0f..00000000000 --- a/nextstep/compile +++ /dev/null @@ -1,243 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2008 Free Software Foundation, Inc. - -# This file is part of GNU Emacs. - -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. - -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. - - -# This script configures and builds Emacs to the subdirectory ./build . -# -# If --shared-lisp 'install_prefix' is given, lisp files will be installed to -# install_prefix/share/emacs/23.0.0. This option must be run with 'sudo'. -# -# Otherwise (default) lisp will be installed under Emacs.app/Contents/Resources. -# It does this by configuring it to install there, and running "make install". -# -# Some setup is different for GNUstep vs. Cocoa, and it determines which one -# it's on using 'uname'. - -# After it is run, Emacs can be run directly from the .app, which itself -# can be placed anywhere. - -# Further C development can be done using Xcode on OS X (not tested recently), -# or by typing './remake' in the '../src' directory. Further Lisp -# development can be done by either copying the files you modify -# into install location, or running this script again. - - -# Set up path and config variables. - -PREFIX="" -while [ $# -gt 0 ]; do - case "$1" in - --shared-lisp=*) - PREFIX=`echo "$1" | sed s/--shared-lisp=//` - shift - ;; - --enable-local-lisp-path=*) - locallisppath=`echo "$1" | sed s/--enable-local-lisp-path=//` - shift - ;; - *) - echo "Usage: $0 [--shared-lisp='install_root' --enable-local-lisp-path='some path(s)']" - exit - esac -done - -DISTDIR=`pwd`/.. - -#OPTFLAGS='-g -O2' -OPTFLAGS='-g' - -# MAC OS X -if [ `uname` == "Darwin" ]; then - BASEDIR=`pwd`/build/Emacs.app/Contents - BINDIR=${BASEDIR}/MacOS - if [ "x$PREFIX" == "x" ]; then - PREFIX=${BASEDIR}/Resources - fi -# If you want to try experimental enhanced Ctrl-g support, add to NS_CFG_OPTS: -# --enable-cocoa-experimental-ctrl-g -# (See bottom of USAGE.txt) - NS_CFG_OPTS="--with-ns --without-x --without-freetype --prefix=${PREFIX} --exec_prefix=${BASEDIR}/MacOS --libexecdir=${BASEDIR}/MacOS/libexec" -# --enable-cocoa-experimental-ctrl-g" -# MAKE="make -j3" - steve=`/usr/sbin/sysctl hw.ncpu | awk '{print $NF}'` - MAKE="make -j`expr $steve + 1`" - export CC=gcc-4.0 - export MACOSX_DEPLOYMENT_TARGET=10.3 - export MACOSX_DEPLOYMENT_TARGET_ppc=10.3 - export MACOSX_DEPLOYMENT_TARGET_i386=10.4 - export CFLAGS="$OPTFLAGS -arch ppc -arch i386" -# -universal -sdk /Developer/SDKs/MacOSX10.4u.sdk -# -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk - -# GNUSTEP -else - - # Currently must pass three dirs into Make process via environment variables. - source /etc/GNUstep/GNUstep.conf - if [ "x$GNUSTEP_MAKEFILES" == "x" ]; then - if [ "x$GNUSTEP_SYSTEM_ROOT" == "x" ]; then - echo "Failed to obtain any useful information from /etc/GNUstep/GNUstep.conf." - echo "Please make sure GNUstep is installed on your system." - exit - fi - GNUSTEP_MAKEFILES=${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles - GNUSTEP_SYSTEM_HEADERS=${GNUSTEP_SYSTEM_ROOT}/Library/Headers - GNUSTEP_SYSTEM_LIBRARIES=${GNUSTEP_SYSTEM_ROOT}/Library/Libraries - fi - export GNUSTEP_MAKEFILES - export GNUSTEP_SYSTEM_HEADERS - export GNUSTEP_SYSTEM_LIBRARIES - - BASEDIR=`pwd`/build/Emacs.app - BINDIR=${BASEDIR} - if [ "x${PREFIX}" == "x" ]; then - PREFIX=${BASEDIR}/Resources - fi - NS_CFG_OPTS="--with-ns --without-x --without-freetype --prefix=${PREFIX} --exec-prefix=${BASEDIR} --libexecdir=${BASEDIR}/libexec" -# --enable-cocoa-experimental-ctrl-g - - if [ "x$MAKE" == "x" ]; then - if [ "`gmake 2>&1`" == "gmake: *** No targets specified and no makefile found. Stop." ]; then - MAKE=gmake - else - MAKE=make - fi - export MAKE - CFLAGS="$OPTFLAGS" - export CFLAGS - fi - -# PENDING: Not sure why this is needed - export EMACSLOADPATH="${DISTDIR}/lisp:${DISTDIR}/lisp/emacs-lisp:${DISTDIR}/leim" -fi - -# End variable setup. -############################################################################### - -# Prepare a clean slate -rm -fr build/Emacs.app - -# Configure if needed -cd .. -if [ ! -f Makefile ]; then - echo "./configure ${NS_CFG_OPTS}" -./configure <<EOF ${NS_CFG_OPTS} -EOF -# ./configure ${NS_CFG_OPTS} - if [ $? != 0 ]; then - echo "*** Configure run failed. ***" - echo "Please examine the above output to determine what went wrong," - echo "edit this script (\'compile\') to fix it, and rerun." - # These are written BEFORE the job is compete, then it won't get done - # next time, causing errors about CTLau-b5, tsang-b5, PY, etc.. - rm -f leim/changed.misc leim/changed.tit - exit 1 - fi -fi - -# Pete's addition for local lisp load-path -if [ "x$locallisppath" != "x" ]; then - echo " * Local lisp path is being enabled" - (cd src - if [ -r epaths.h-orig ]; then -# mv ../src/epaths.h-orig ../src/epaths.h - echo "### src/epaths.h-orig already exists, no further change ###" - else - mv epaths.h epaths.h-orig - printf "s,\(#define PATH_LOADSEARCH \"\),\\\1%s:,\n" "$ -{locallisppath}" > locallisppath.sed - cat epaths.h-orig | sed -f locallisppath.sed > epaths.h - rm locallisppath.sed - fi) -fi - -# Clean up to avoid DOC-xxx and emacs-xxx out-of-controlness -rm -f ../etc/DOC-* ../src/emacs-* - - -# Go (installs binaries to ./build/Emacs.app, lisp to there or PREFIX) -echo "make install" -$MAKE -status=$? - -if [ -f src/epaths.h-orig ]; then - mv src/epaths.h-orig src/epaths.h -fi - -if [ $status != 0 ]; then - echo "*** Compilation failed. ***" - echo "Please examine the above output to determine what went wrong," - echo "edit the configure options in this script (\'compile\') to fix it, and rerun." -# rm -f leim/changed.misc leim/changed.tit - exit 1 -fi - -$MAKE install -if [ $? != 0 ]; then - echo "*** Compilation succeeded, but .app assembly failed. ***" - echo "Please examine the above output to determine what went wrong," - echo "edit the configure options in this script (\'compile\') to fix it, and rerun." -# rm -f leim/changed.misc leim/changed.tit - exit 1 -fi - -# Move version stuff up to Resources -cd ${BASEDIR}/Resources -if [ -d share/emacs ]; then - # clean up self-contained build - mv -f share/emacs/*/* . -fi - -if [ ! -d info ]; then - # happens on GNUstep, not OS X - mv -f share/info . -fi -rm -fr share - -# Get rid of .el.gz when .elc is present.. purists will complain, but this -# knocks the app size down substantially. -cd lisp -#for f in `find . -name '*.elc' -print | sed -e s/.elc/.{el,el.gz}/` -#do -# rm -f $f -#done - -# Bin cleanup -cd $BINDIR/bin -rm -f emacs emacs-23* - -# Move libexec stuff up, and link it from bin -cd ../libexec -mv -f emacs/*/*/* . -rm -fr emacs -cd ../bin -ln -sf ../libexec/* . - -# On OS X, install the bundled ispell -#if [ `uname` == "Darwin" ]; then -# cd $DISTDIR -# cp ispell-3.3.01/bin/ispell* ${BINDIR}/libexec -# cp -R ispell-3.3.01/lib ${BINDIR}/libexec -#fi - -echo "" -echo "Build successful." -echo "" - -# arch-tag: 1fda51a1-d908-4e60-ad5e-47ffbb39f18d |