summaryrefslogtreecommitdiff
path: root/nextstep
diff options
context:
space:
mode:
authorAdrian Robert <Adrian.B.Robert@gmail.com>2008-07-17 18:28:58 +0000
committerAdrian Robert <Adrian.B.Robert@gmail.com>2008-07-17 18:28:58 +0000
commit4537179d4606df6d4258b067cec2bf1b8fff5365 (patch)
tree2001a3fdcb53a5fcee08799d7adbaeace75c89a6 /nextstep
parent2a7973b62722e292302d6c03200771d33cb890bf (diff)
downloademacs-4537179d4606df6d4258b067cec2bf1b8fff5365.tar.gz
make more parallel to other platforms
Diffstat (limited to 'nextstep')
-rw-r--r--nextstep/ChangeLog9
-rw-r--r--nextstep/FOR-RELEASE22
-rw-r--r--nextstep/INSTALL77
-rw-r--r--nextstep/README (renamed from nextstep/README.txt)55
-rwxr-xr-xnextstep/compile243
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