Commit 4e60ef30 authored by Eric J. Korpela's avatar Eric J. Korpela


- STILL WORK TO BE DONE TO GET locale STUFF INSTALLED PROPERLY!!!
- Update to libtool 1.5.24
- build environment:  Major automake changes that I've been warning about
  for some time.
- Now uses libtool to build libraries.
- Builds separate boinc_fcgi and sched_fcgi libraries for use with 
  FCGI server components.
- New macro "BOINC_CHECK_LIB_WITH" that executes a "AC_CHECK_LIB" on
  a library only if --with-libname[=DIR] is specified on the configure
  command line.  This is to allow inclusion of libraries when the 
  ssl, gtk, wxWidgets, or other configuration is incorrect for static
  libraries.
- Added a lot of "--with-*" for some libraries that might be required for
  static builds.
- The sea directory has been moved to packages/generic.  Changes to sea
  and the associated scripts might be required to better make use of the
  staging mechanism and shared libraries.
- Fixed includes of boinc_fcgi.h in many files.
- Fixed places where FCGI_FILE needs to be used implicitly.
- Fixed missing define of _SC_PAGESIZE on hosts that define only
  _SC_PAGE_SIZE.
- Moved build of boinc_cmd (and source file) from lib to client



svn path=/trunk/boinc/; revision=16904
parent d93eb6da
......@@ -3,10 +3,14 @@
AUTOMAKE_OPTIONS = foreign
include Makefile.incl
## make sure rebuilding uses the right aclocal-switches
ACLOCAL_AMFLAGS = -I m4
API_SUBDIRS = api lib zip
if ENABLE_LIBRARIES
API_SUBDIRS = api lib zip
endif
if ENABLE_SERVER
SERVER_SUBDIRS = db test py sched apps tools samples/example_app
......@@ -16,8 +20,8 @@ if ENABLE_CLIENT
CLIENT_SUBDIRS = client client/scripts
endif
if BUILD_CLIENTGUI
CLIENTGUI_SUBDIRS = clientgui clientgui/res locale
if ENABLE_MANAGER
CLIENTGUI_SUBDIRS = clientgui clientgui/res locale
endif
# ORDER MATTERS below. One must build dependencies FIRST, then things
......@@ -33,9 +37,11 @@ EXTRA_DIST = \
stripchart \
INSTALL
if INSTALL_HEADERS
pkginclude_HEADERS = \
config.h \
version.h
endif
# Add a stage target for staging a distribution
......
......@@ -3,6 +3,11 @@
# Note: MYSQL_CFLAGS and MYSQL_LIBS set by configure from mysql_config
# ignore any LIBS set by configure
LIBS=
LIBBOINC_VERSION = @LIBBOINC_VERSION@
MYSQL_LIBS = @MYSQL_LIBS@
MYSQL_CFLAGS = @MYSQL_CFLAGS@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
......@@ -10,6 +15,8 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
RSA_LIBS = -lcrypto
AM_LIBTOOLFLAGS =
AM_CPPFLAGS = \
-I$(top_srcdir)/lib \
-I$(top_srcdir)/api \
......@@ -17,19 +24,36 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/client \
-I$(top_srcdir)/tools \
-I$(top_srcdir)/sched \
-I$(top_srcdir)/lib/mac
-I$(top_srcdir)/lib/mac \
$(PTHREAD_CFLAGS)
AM_CFLAGS =
AM_CXXFLAGS =
AM_LDFLAGS =
# dependencies to make sure libs gets compiled before
# programs linking to them:
LIBSCHED = $(top_builddir)/sched/libsched.a
LIBSCHED = $(top_builddir)/sched/libsched.la
$(LIBSCHED):
cd $(top_builddir)/sched; ${MAKE} libsched.a
LIBBOINC = $(top_builddir)/lib/libboinc.a
cd $(top_builddir)/sched; ${MAKE} libsched.la
LIBSCHED_FCGI = $(top_builddir)/sched/libsched_fcgi.la
$(LIBSCHED_FCGI):
cd $(top_builddir)/sched; ${MAKE} libsched_fcgi.la
LIBBOINC = $(top_builddir)/lib/libboinc.la
$(LIBBOINC):
cd $(top_builddir)/lib; ${MAKE} libboinc.a
LIBAPI = = $(top_builddir)/api/libboinc_api.a
cd $(top_builddir)/lib; ${MAKE} libboinc.la
LIBBOINC_FCGI = $(top_builddir)/lib/libboinc_fcgi.la
$(LIBBOINC_FCGI):
cd $(top_builddir)/lib; ${MAKE} libboinc_fcgi.la
LIBAPI = $(top_builddir)/api/libboinc_api.la
$(LIBAPI):
cd $(top_builddir)/api; ${MAKE} libboinc_api.a
cd $(top_builddir)/api; ${MAKE} libboinc_api.la
SERVERLIBS = $(LIBSCHED) $(LIBBOINC) $(MYSQL_LIBS) $(PTHREAD_LIBS) $(RSA_LIBS)
SERVERLIBS_FCGI = $(LIBSCHED_FCGI) $(LIBBOINC_FCGI) -lfcgi $(MYSQL_LIBS) $(PTHREAD_LIBS) $(RSA_LIBS)
APPLIBS = $(LIBAPI) $(LIBBOINC)
......@@ -3,23 +3,22 @@
include $(top_srcdir)/Makefile.incl
AM_CFLAGS = @GLUT_CFLAGS@
AM_LDFLAGS = @GLUT_LIBS@
if ENABLE_LIBRARIES
# stuff linked into both main app and graphics app
api_files= \
boinc_api.cpp \
reduce_main.cpp \
boinc_api.cpp \
reduce_main.cpp \
graphics2_util.cpp
# stuff linked into graphics app
graphics2_files = \
gutil.cpp \
gutil_text.cpp \
reduce_lib.cpp \
texfont.cpp \
texture.cpp \
txf_util.cpp \
gutil.cpp \
gutil_text.cpp \
reduce_lib.cpp \
texfont.cpp \
texture.cpp \
txf_util.cpp \
graphics2.cpp \
graphics2_unix.cpp
......@@ -31,30 +30,53 @@ endif
EXTRA_DIST = *.h
if BUILD_GRAPHICS_API
graphics_libs = \
libboinc_graphics2.a
else
graphics_libs =
AM_CFLAGS += @GLUT_CFLAGS@
endif
lib_LIBRARIES = libboinc_api.a $(graphics_libs)
libboinc_api_a_SOURCES = $(api_files)
libboinc_graphics2_a_SOURCES = $(graphics2_files)
libboinc_graphics2_a_CPPFLAGS = -I$(top_srcdir)/lib
lib_LTLIBRARIES = libboinc_api.la
libboinc_api_la_SOURCES = $(api_files)
libboinc_api_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
if BUILD_GRAPHICS_API
lib_LTLIBRARIES += libboinc_graphics2.la
libboinc_graphics2_la_SOURCES = $(graphics2_files)
libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir)/lib
libboinc_graphics2_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
endif #BUILD_GRAPHICS_API
if INSTALL_HEADERS
## install only headers that are meant for exporting the API !!
pkginclude_HEADERS = \
boinc_api.h \
graphics2.h \
gutil.h
endif ## INSTALL_HEADERS
if BUILD_STATIC_LIBS
all_local = libboinc_api.a
if BUILD_GRAPHICS_API
all_local += libboinc_graphics2.a
endif
endif
all-local: $(all_local)
libboinc_api.a: libboinc_api.la
rm -f libboinc_api.a
ln .libs/libboinc_api.a
libboinc_graphics2.a: libboinc_graphics2.la
rm -f libboinc_graphics2.a
ln .libs/libboinc_graphics2.a
endif ## ENABLE_LIBRARIES
.PHONY:
EXTRA_PROGRAMS = api_app api_test
api_app_SOURCES = api_app.cpp boinc_api.cpp ../lib/parse.cpp
api_test_SOURCES = boinc_api.cpp api_test.cpp ../lib/parse.cpp
api_app_SOURCES = api_app.cpp ../lib/parse.cpp
api_app_LDADD = $(LIBAPI)
api_test_SOURCES = api_test.cpp ../lib/parse.cpp
api_test_LDADD = $(LIBAPI)
......@@ -5,9 +5,17 @@ include $(top_srcdir)/Makefile.incl
bin_PROGRAMS = upper_case concat 1sec
LDADD = $(top_builddir)/api/libboinc_api.a $(LIBBOINC) $(PTHREAD_LIBS)
AM_CXXFLAGS = $(MYSQL_CFLAGS)
upper_case_SOURCES = upper_case.cpp
upper_case_CXXFLAGS = $(PTHREAD_CFLAGS)
upper_case_LDFLAGS = -static-libtool-libs
upper_case_LDADD = $(APPLIBS)
upper_case_SOURCES = upper_case.cpp
concat_SOURCES = concat.cpp
1sec_SOURCES = 1sec.cpp
concat_SOURCES = concat.cpp
concat_CXXFLAGS = $(PTHREAD_CFLAGS)
concat_LDFLAGS = -static-libtool-libs
concat_LDADD = $(APPLIBS)
1sec_SOURCES = 1sec.cpp
1sec_CFLAGS = $(PTHREAD_CFLAGS)
1sec_LDFLAGS = -static-libtool-libs
1sec_LDADD = $(APPLIBS)
......@@ -280,3 +280,82 @@ David 13 Jan 2009
lib/
gui_rpc_client_ops.cpp
gui_rpc_client.h
Eric 13 Jan 2009
- STILL WORK TO BE DONE TO GET locale STUFF INSTALLED PROPERLY!!!
- Update to libtool 1.5.24
- build environment: Major automake changes that I've been warning about
for some time.
- Now uses libtool to build libraries.
- Builds separate boinc_fcgi and sched_fcgi libraries for use with
FCGI server components.
- New macro "BOINC_CHECK_LIB_WITH" that executes a "AC_CHECK_LIB" on
a library only if --with-libname[=DIR] is specified on the configure
command line. This is to allow inclusion of libraries when the
ssl, gtk, wxWidgets, or other configuration is incorrect for static
libraries.
- Added a lot of "--with-*" for some libraries that might be required for
static builds.
- The sea directory has been moved to packages/generic. Changes to sea
and the associated scripts might be required to better make use of the
staging mechanism and shared libraries.
- Fixed includes of boinc_fcgi.h in many files.
- Fixed places where FCGI_FILE needs to be used implicitly.
- Fixed missing define of _SC_PAGESIZE on hosts that define only
_SC_PAGE_SIZE.
- Moved build of boinc_cmd (and source file) from lib to client
ltmain.sh
config.guess
config.sub
Makefile.incl
m4/
sah_check_lib.m4
check_ssl.m4
boinc_gtk.m4 (new)
boinc_check_lib_with.m4 (new)
libcurl.m4
boinc_wxwidgets.m4
sea/ (moved to packages/generic/sea)
packages/ (new)
generic/ (new)
sea/ (new)
Makefile.am
client/
Makefile.am
hostinfo_unix.cpp
sched/
edf_sim.cpp
sched_shmem.h
sched_msgs.h
sched_msgs.cpp
sched_send.cpp
handle_resuest.cpp
file_upload_handler.cpp
main.cpp
sched_assign.cpp
Makefile.am
lib/
boinc_cmd.cpp (moved to client)
diagnostics.cpp
prefs.cpp
msg_log.h
cert_sig.cpp
Makefile.am
zip/
Makefile.am
samples/
example_app/
Makefile
api/
Makefile.am
clientgui/
Makefile.am
tools/
backend_lib.cpp
Makefile.am
doc/
manpages/
Makefile.am
......@@ -3,19 +3,23 @@
include $(top_srcdir)/Makefile.incl
# (for a while we used "-static -static-libgcc" on linux, but this is obsolete
# now)
#STATIC_FLAGS=@STATIC_FLAGS@
client-bin: @CLIENT_BIN_FILENAME@
if ENABLE_CLIENT_RELEASE
AM_LDFLAGS += -static-libtool-libs
endif
LIBS += @CLIENTLIBS@
LIBS += $(CLIENTLIBS)
if OS_DARWIN
LIBS += -framework IOKit -framework Foundation -framework ScreenSaver -framework Cocoa
endif
bin_PROGRAMS = boinc_client switcher
bin_PROGRAMS = boinc_client switcher boinccmd
boinccmd_SOURCES = boinc_cmd.cpp
boinccmd_DEPENDENCIES = $(LIBBOINC)
boinccmd_CPPFLAGS = $(AM_CPPFLAGS)
boinccmd_LDFLAGS = $(AM_LDFLAGS) -L../lib
boinccmd_LDADD = $(LIBBOINC) $(BOINC_EXTRA_LIBS) $(PTHREAD_LIBS)
boinc_client_SOURCES = \
acct_mgr.cpp \
......@@ -54,32 +58,34 @@ boinc_client_SOURCES = \
main.cpp \
net_stats.cpp \
pers_file_xfer.cpp \
rr_sim.cpp \
rr_sim.cpp \
sandbox.cpp \
scheduler_op.cpp \
time_stats.cpp \
whetstone.cpp \
work_fetch.cpp
boinc_client_DEPENDENCIES =
boinc_client_CPPFLAGS = -O3 -fomit-frame-pointer -fforce-addr -ffast-math $(AM_CPPFLAGS)
boinc_client_LDFLAGS = -static-libgcc
boinc_client_LDADD = $(LIBBOINC) $(PTHREAD_LIBS)
boinc_client_DEPENDENCIES = $(LIBBOINC)
boinc_client_CPPFLAGS = $(AM_CPPFLAGS)
boinc_client_LDFLAGS = $(AM_LDFLAGS) -L../lib
boinc_client_LDADD = $(LIBBOINC) $(BOINC_EXTRA_LIBS) $(PTHREAD_LIBS)
boinc_clientdir = $(bindir)
boinc_client_DATA = ../curl/ca-bundle.crt
switcher_SOURCES = switcher.cpp
all-local: client-bin
## since we are using libtool we need some magic to get boinc and boinc_client
## to both be installed properly. The next two rules do that...
all-local: boinc
# make a hard link to the client name.
@CLIENT_BIN_FILENAME@: boinc_client
rm -f $@
rm -f $@.unmodified
cp $? $@.unmodified
@LN@ $? $@
@STRIP@ $@
boinc: boinc_client
rm -f boinc .libs/boinc
ln boinc_client boinc
if test -f .libs/boinc_client ; then ln .libs/boinc_client .libs/boinc ; fi
install-exec-hook:
rm -f $(DESTDIR)$(exec_prefix)/bin/boinc
ln $(DESTDIR)$(exec_prefix)/bin/boinc_client $(DESTDIR)$(exec_prefix)/bin/boinc
## these source files need to be specified because no rule uses them.
......@@ -87,7 +93,3 @@ EXTRA_DIST = *.h \
mac \
translation \
win
clean-local:
rm -f @CLIENT_BIN_FILENAME@
rm -f @CLIENT_BIN_FILENAME@.unmodified
......@@ -140,6 +140,11 @@ NXEventHandle gEventHandle = NULL;
#include <machine/cpuconf.h>
#endif
// Some OS define _SC_PAGE_SIZE instead of _SC_PAGESIZE
#if defined(_SC_PAGE_SIZE) && !defined(_SC_PAGESIZE)
#define _SC_PAGESIZE _SC_PAGE_SIZE
#endif
// The following is intended to be true both on Linux
// and Debian GNU/kFreeBSD (see trac #521)
//
......
......@@ -3,8 +3,9 @@
include $(top_srcdir)/Makefile.incl
LIBS += @CLIENTLIBS@
if ENABLE_CLIENT_RELEASE
AM_LDFLAGS += -static-libtool-libs
endif
if OS_DARWIN
LIBS += -framework IOKit -framework Foundation -framework ScreenSaver -framework Cocoa -framework Security
......@@ -15,17 +16,17 @@ if OS_DARWIN
mac/Mac_GUI.cpp\
mac/browser_safari.mm
mac_headers = mac/*.h
mac_headers = mac/*.h
else
mac_headers =
mac_sources =
endif
bin_PROGRAMS = boinc_gui
bin_PROGRAMS = boincmgr
# keep the following alphabetic
boinc_gui_SOURCES = \
boincmgr_SOURCES = \
AccountInfoPage.cpp \
AccountManagerInfoPage.cpp \
AccountManagerProcessingPage.cpp \
......@@ -105,28 +106,13 @@ EXTRA_DIST = *.h \
../lib/error_numbers.h \
locale $(mac_headers)
boinc_gui_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(CLIENTGUIFLAGS)
boinc_gui_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(CLIENTGUIFLAGS)
boinc_gui_LDADD = $(LIBBOINC) $(CLIENTGUILIBS)
all-local: client_gui-bin
client_gui-bin: @CLIENT_GUI_BIN_FILENAME@
boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(CLIENTGUIFLAGS)
boincmgr_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(CLIENTGUIFLAGS)
boincmgr_LDADD = $(LIBBOINC) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS)
win_config.h: $(top_srcdir)/config.h
grep '#define.*BOINC.*VERSION' $^ > $@
version: win_config.h
# make a hard link to the client name.
@CLIENT_GUI_BIN_FILENAME@: boinc_gui
rm -f $@
rm -f $@.unmodified
cp $? $@.unmodified
@LN@ $? $@
@STRIP@ $@
clean-local:
rm -f @CLIENT_GUI_BIN_FILENAME@
rm -f @CLIENT_GUI_BIN_FILENAME@.unmodified
.PHONY: version
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
# Inc.
timestamp='2003-06-17'
timestamp='2007-05-17'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
......@@ -17,13 +18,15 @@ timestamp='2003-06-17'
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Per Bothner <per@bothner.com>.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
......@@ -53,7 +56,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
......@@ -66,11 +69,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit 0 ;;
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit 0 ;;
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
......@@ -104,7 +107,7 @@ set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
......@@ -123,7 +126,7 @@ case $CC_FOR_BUILD,$HOST_CC,$CC in
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ;'
esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
......@@ -136,13 +139,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
## for Red Hat Linux
##if test -f /etc/redhat-release ; then
## VENDOR=redhat ;
##else
VENDOR= ;
##fi
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
......@@ -165,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
......@@ -203,50 +200,32 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
arc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
macppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme68k:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvme88k:OpenBSD:*:*)
echo m88k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
mvmeppc:OpenBSD:*:*)
echo powerpc-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
pmax:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sgi:OpenBSD:*:*)
echo mipseb-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
wgrisc:OpenBSD:*:*)
echo mipsel-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
exit ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
alpha:OSF1:*:*)
if test $UNAME_RELEASE = "V4.0"; then
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
fi
;;
*5.*)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
......@@ -284,42 +263,49 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
"EV7.9 (21364A)")
UNAME_MACHINE="alphaev79" ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha*:OpenVMS:*:*)
echo alpha-hp-vms
exit 0 ;;
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit 0 ;;
exit ;;