- 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
This commit is contained in:
Eric J. Korpela 2009-01-13 23:06:02 +00:00
parent d93eb6da48
commit 4e60ef3003
50 changed files with 2765 additions and 1410 deletions

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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@
if ENABLE_CLIENT_RELEASE
AM_LDFLAGS += -static-libtool-libs
endif
client-bin: @CLIENT_BIN_FILENAME@
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

View File

@ -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)
//

View File

@ -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

687
config.guess vendored

File diff suppressed because it is too large Load Diff

244
config.sub vendored
View File

@ -1,9 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# 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-18'
timestamp='2007-04-29'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@ -21,14 +22,15 @@ timestamp='2003-06-18'
#
# 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.
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry.
#
@ -70,7 +72,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
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
@ -83,11 +85,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.
@ -99,7 +101,7 @@ while test $# -gt 0 ; do
*local*)
# First pass through any local machine types.
echo $1
exit 0;;
exit ;;
* )
break ;;
@ -118,7 +120,9 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@ -144,7 +148,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis)
-apple | -axis | -knuth | -cray)
os=
basic_machine=$1
;;
@ -169,6 +173,10 @@ case $os in
-hiux*)
os=-hiuxwe2
;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -185,6 +193,10 @@ case $os in
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -228,14 +240,17 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k \
| m32r | m68000 | m68k | m88k | mcore \
| ip2k | iq2000 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore | mep \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@ -244,28 +259,33 @@ case $basic_machine in
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| mt \
| msp430 \
| nios | nios2 \
| ns16k | ns32k \
| openrisc | or32 \
| or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| s390 | s390x \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| score \
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| strongarm \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
| we32k \
| x86 | xscale | xstormy16 | xtensa \
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k)
basic_machine=$basic_machine-unknown
;;
@ -276,6 +296,9 @@ case $basic_machine in
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
ms1)
basic_machine=mt-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
@ -295,20 +318,20 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \
| bs2000-* \
| avr-* | avr32-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | cydra-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* \
| m32r-* \
| ip2k-* | iq2000-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
| m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@ -317,31 +340,36 @@ case $basic_machine in
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| s390-* | s390x-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
| xtensa-* \
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa-* \
| ymp-* \
| z8k-*)
;;
@ -361,6 +389,9 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
abacus)
basic_machine=abacus-unknown
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
@ -378,6 +409,9 @@ case $basic_machine in
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
@ -437,12 +471,27 @@ case $basic_machine in
basic_machine=j90-cray
os=-unicos
;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16c)
basic_machine=cr16c-unknown
os=-elf
;;
crds | unos)
basic_machine=m68k-crds
;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
crx)
basic_machine=crx-unknown
os=-elf
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
@ -465,6 +514,10 @@ case $basic_machine in
basic_machine=m88k-motorola
os=-sysv3
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
@ -630,6 +683,10 @@ case $basic_machine in
basic_machine=i386-pc
os=-mingw32
;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
;;
miniframe)
basic_machine=m68000-convergent
;;
@ -643,10 +700,6 @@ case $basic_machine in
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
mmix*)
basic_machine=mmix-knuth
os=-mmixware
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
@ -659,6 +712,9 @@ case $basic_machine in
basic_machine=i386-pc
os=-msdos
;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
mvs)
basic_machine=i370-ibm
os=-mvs
@ -727,10 +783,6 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
nv1)
basic_machine=nv1-cray
os=-unicosmp
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@ -738,9 +790,12 @@ case $basic_machine in
basic_machine=hppa1.1-oki
os=-proelf
;;
or32 | or32-*)
openrisc | openrisc-*)
basic_machine=or32-unknown
os=-coff
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
@ -767,6 +822,12 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
@ -823,6 +884,10 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
rdos)
basic_machine=i386-pc
os=-rdos
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
@ -833,6 +898,12 @@ case $basic_machine in
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
@ -843,6 +914,10 @@ case $basic_machine in
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei)
basic_machine=mips-sei
os=-seiux
@ -854,6 +929,9 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
sh5el)
basic_machine=sh5le-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
@ -956,6 +1034,10 @@ case $basic_machine in
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
@ -999,6 +1081,10 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
@ -1029,6 +1115,9 @@ case $basic_machine in
romp)
basic_machine=romp-ibm
;;
mmix)
basic_machine=mmix-knuth
;;
rs6000)
basic_machine=rs6000-ibm
;;
@ -1045,13 +1134,10 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
sparc | sparcv9 | sparcv9b)
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
@ -1124,19 +1210,23 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei*)
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@ -1154,12 +1244,15 @@ case $os in
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@ -1172,6 +1265,9 @@ case $os in
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
@ -1193,6 +1289,9 @@ case $os in
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
@ -1215,6 +1314,9 @@ case $os in
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
@ -1251,6 +1353,9 @@ case $os in
-kaos*)
os=-kaos
;;
-zvmoe)
os=-zvmoe
;;
-none)
;;
*)
@ -1273,6 +1378,12 @@ else
# system, and we'll never get to this point.
case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn)
os=-riscix1.2
;;
@ -1282,8 +1393,8 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
c4x-* | tic4x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
@ -1310,6 +1421,9 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
mep-*)
os=-elf
;;
mips*-cisco)
os=-elf
;;
@ -1328,9 +1442,15 @@ case $basic_machine in
*-be)
os=-beos
;;
*-haiku)
os=-haiku
;;
*-ibm)
os=-aix
;;
*-knuth)
os=-mmixware
;;
*-wec)
os=-proelf
;;
@ -1463,9 +1583,15 @@ case $basic_machine in
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
@ -1490,7 +1616,7 @@ case $basic_machine in
esac
echo $basic_machine$os
exit 0
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)

View File

@ -2,9 +2,6 @@ dnl -*- autoconf -*-
dnl $Id$
dnl NOTE: on milkyway.ssl and jill.ssl , need autoconf/automake et al from quarls
dnl directory; the _autosetup script does this.
dnl not sure exactly what the minimum version is (but 2.13 wont work)
AC_PREREQ(2.57)
@ -13,48 +10,166 @@ AC_INIT(BOINC, 6.7.0)
LIBBOINC_VERSION=`echo ${PACKAGE_VERSION} | sed 's/\./:/g'`
AC_SUBST([LIBBOINC_VERSION])
AC_CANONICAL_TARGET
AC_ARG_ENABLE(debug,
AS_HELP_STRING([--enable-debug],
[enable tracing and debugging flags for all components]),
[enable_debug="$enableval"],
[])
dnl generate .tar.gz, .tar.bz2, .zip
dnl AM_INIT_AUTOMAKE(dist-bzip2 dist-zip)
AM_INIT_AUTOMAKE(dist-zip)
AC_ARG_ENABLE(unicode,
AS_HELP_STRING([--enable-unicode],
[enable building the manager with unicode support]),
[enable_unicode="$enableval"],
[])
AC_CONFIG_SRCDIR(lib/shmem.cpp)
AC_REVISION([$Revision$])
REV=`echo '$Revision$' | awk "{print $2}"`
RDATE=`date '+%Y.%m.%d'`
if test -d .svn ; then
REV=`svn info | grep Revision | awk '{print $2}'`
RDATE=`svn info | grep "Last Changed Date:" | awk '{print $4}' | sed 's/-/./g'`
fi
AC_SUBST(REV)
AC_SUBST(RDATE)
dnl turn dependency tracking on by default
if test x${enable_dependency_tracking} != xno ; then
enable_dependency_tracking=yes
fi
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_CPP
AC_PROG_MAKE_SET
SAH_LINKS
AM_PROG_CC_C_O
m4_divert_once([HELP_ENABLE],
AS_HELP_STRING([BOINC Default enable values], [--enable-server --enable-client --enable-libraries --enable-manager: builds server, client, and libraries]))
AC_ARG_ENABLE(server,
AS_HELP_STRING([--disable-server],
[disable building the scheduling server]),
[],
[enable_server=no],
[enable_server=yes])
AC_ARG_ENABLE(fcgi,
AS_HELP_STRING([--disable-fcgi],
[disable building fcgi libraries or server components]),
[enable_fcgi=no],
[enable_fcgi=yes])
AC_ARG_ENABLE(client,
AS_HELP_STRING([--disable-client],
[disable building the client]),
[],
[enable_client=no],
[enable_client=yes])
m4_divert_once([HELP_ENABLE],
AS_HELP_STRING([], [Default: --enable-server --enable-client:
builds both server and client]))
AC_ARG_ENABLE(manager,
AS_HELP_STRING([--disable-manager],
[disable building the boinc manager gui]),
[enable_manager=no],
[enable_manager=yes])
if test "${enable_server}" = yes ; then
if test "${enable_client}" = yes ; then
configured_to_build='server & client'
else
configured_to_build='server only'
fi
else
if test "${enable_client}" = yes ; then
configured_to_build='client only'
else
configured_to_build='libraries only'
fi
AC_ARG_ENABLE(libraries,
AS_HELP_STRING([--disable-libraries],
[disable building the boinc client and server libraries]),
[enable_libraries=no],
[enable_libraries=yes])
AC_ARG_ENABLE(install-headers,
AS_HELP_STRING([--disable-install-headers],
[if building libraries do not install the boinc library
header files]),
[enable_install_headers=no],
[enable_install_headers=yes])
AC_ARG_ENABLE(pkg-libs,
AS_HELP_STRING([--enable-pkg-libs],
[Builds and installs components that would be present in a
boinc-libs package. This is a synonym for --disable-server
--disable-client --enable-libraries --disable-static
--disable-install-headers --disable-manager]),
[
enable_libraries=yes
enable_server=no
enable_client=no
enable_manager=no
enable_install_headers=no
enable_static=no
],
[])
AC_ARG_ENABLE(pkg-devel,
AS_HELP_STRING([--enable-pkg-devel],
[Builds and installs components that would be present in a
boinc-devel package. This is a synonym for --disable-server
--disable-client --enable-libraries --enable-install-headers
--disable-manger]),
[
enable_libraries=yes
enable_server=no
enable_client=no
enable_manager=no
enable_install_headers=yes
],
[])
AC_ARG_ENABLE(pkg-client,
AS_HELP_STRING([--enable-pkg-client],
[Builds and installs components that would be present in a
boinc-client package. This is a synonym for --disable-server
--enable-client --disable-libraries --disable-manager
]),
[
enable_libraries=no
enable_server=no
enable_client=yes
enable_manager=no
enable_install_headers=no
],
[])
AC_ARG_ENABLE(pkg-manager,
AS_HELP_STRING([--enable-pkg-manager],
[Builds and installs components that would be present in a boinc-manager package. This is a synonym for --disable-server --disable-client --disable-libraries --enable-manager
]),
[
enable_libraries=no
enable_server=no
enable_client=no
enable_manager=yes
enable_install_headers=no
],
[])
BOINC_SET_COMPILE_FLAGS
configured_to_build=
if test x$enable_client = xyes ; then
configured_to_build="client"
fi
if test x$enable_manager = xyes ; then
configured_to_build="${configured_to_build} manager"
fi
if test x$enable_libraries = xyes ; then
configured_to_build="${configured_to_build} libraries"
fi
if test x$enable_server = xyes ; then
configured_to_build="${configured_to_build} server"
fi
if test -z "${configured_to_build}" ; then
AC_MSG_ERROR([
================================================================================
ERROR: I have been told to build nothing.
Please remove one of the --disable commands from your
configure command line.
================================================================================
])
fi
dnl ======================================================================
dnl some vodoo required for building portable client-binary (client, clientgui)
@ -66,7 +181,33 @@ AC_ARG_ENABLE([client-release],
(On GNU/Linux you might need to use gcc-3.0 for this to produce a
binary that works for glibc <= 2.2 systems. => use CC=gcc-3.0 and CXX=g++-3.0)
(Default = no)]),
[enable_client_release=yes;disable_static_linkage=no],
[
enable_client_release=yes
disable_static_linkage=no
AC_MSG_WARN([
================================================================================
WARNING: You have requested a statically linked release build.
This option is not recommended for personal use or for building
an application for distribution via a package management system.
It probably wont work unless you have built your own static curl
and wxWidgets libraries that have minimal dependencies. You may
also need to edit Makefiles manually in order for linking to work.
It is far better to use dynamic linkage, which can resolve most
library interdependencies at run time.
When the executable fails to link, and you can identify the missing
library, you can edit the Makefile to add it, or if there is a --with
option to configure, use it.
This is not easy. It is not supported. You have been warned.
================================================================================
])
echo Pausing 10 seconds...
sleep 10
]
,
[enable_client_release=no;disable_static_linkage=yes])
@ -79,13 +220,6 @@ fi
echo "--- Configuring BOINC AC_PACKAGE_VERSION (${build_state}) ---"
echo "--- Build Components: (${configured_to_build}) ---"
AC_CANONICAL_TARGET
dnl generate .tar.gz, .tar.bz2, .zip
dnl AM_INIT_AUTOMAKE(dist-bzip2 dist-zip)
AM_INIT_AUTOMAKE(dist-zip)
AC_CONFIG_SRCDIR(lib/shmem.cpp)
AC_COPYRIGHT([
Berkeley Open Infrastructure for Network Computing
@ -108,8 +242,6 @@ or write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
])
AC_REVISION([$Revision$])
AC_DEFUN([KC_STRIP_LEADING_ZEROS],[m4_bregexp([$*],[^0*\(..*\)],\1)])
AC_DEFUN([BOINC_SET_VERSION],[dnl
@ -141,14 +273,6 @@ AC_SUBST([TOP_SOURCE_DIR], [`(cd \`dirname "$0"\` && pwd)`])
## such as automatic reconfiguring on changes in Makefile.am's and configure.ac
## AM_MAINTAINER_MODE
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CXX
AC_PROG_CPP
AC_PROG_MAKE_SET
AC_PROG_RANLIB
SAH_LINKS
AM_PROG_CC_C_O
dnl Check for docbook2x-man, which we use to create the manpages in
dnl doc/manpages, and set the conditional HAVE_DOCBOOK2X_MAN to build
@ -171,12 +295,12 @@ AC_SUBST(OBJC)
OBJCFLAGS="-ObjC"
AC_SUBST(OBJCFLAGS)
dnl LT_INIT
AC_LIBTOOL_DLOPEN
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
AC_SUBST(PICFLAGS,${lt_prog_compiler_pic})
SAH_OPTION_BITNESS
dnl Determine the BOINC platform given the target arch-platform-os.
@ -195,14 +319,15 @@ dnl Find the extensions used on shared and static libraries on this system
SAH_LIBEXT
SAH_DLLEXT
dnl THIS IS UNNECESSARY. THE COMPILER SHOULD SET THESE
dnl enable debug mode on all components using standard debug flags
if test "${enable_debug}" = yes; then
CXXFLAGS="$CXXFLAGS -DDEBUG -D_DEBUG"
CFLAGS="$CFLAGS -DDEBUG -D_DEBUG"
AC_SUBST(CXXFLAGS)
AC_SUBST(CFLAGS)
fi
dnl if test "${enable_debug}" = yes; then
dnl CXXFLAGS="$CXXFLAGS -DDEBUG -D_DEBUG"
dnl CFLAGS="$CFLAGS -DDEBUG -D_DEBUG"
dnl
dnl AC_SUBST(CXXFLAGS)
dnl AC_SUBST(CFLAGS)
dnl fi
if test "${enable_server}" = yes; then
AC_CHECK_MYSQL
@ -229,9 +354,7 @@ dnl installed everywhere should be linked statically when building portable
dnl binaries. Put libraries that should be linked statically on every platform
dnl in the STATIC_LIB_LIST variable before calling SAH_CHECK_LIB. (Note: Only
dnl the '*' wildcard is supported).
STATIC_LIB_LIST="stdc++* gcc gcc_s gcc_eh atk* gtk* gdk* gmodule* gthread* gobject*
glib* pango* cairo* wx* tiff* jpeg* png* Xi glut socket z expat* krb5support
freetype fontconfig* resolv* idn"
STATIC_LIB_LIST="stdc++* gcc gcc_s gcc_eh atk* gtk* gdk* gmodule* gthread* gobject* glib* pango* cairo* wx* tiff* jpeg* png* Xi glut socket z expat* krb5support freetype fontconfig* resolv* idn c_nonshared gpg* gss* gnutls sasl2"
dnl We'll store these libs in a separate variable BOINC_EXTRA_LIBS for later
dnl post-processing instead of the default-action, which would append
@ -251,6 +374,9 @@ esac
dnl m4/boinc_getsockopt.m4
BOINC_GETSOCKOPT_TYPE
dnl m4/boinc_check_fcgi.m4
BOINC_CHECK_FCGI
dnl ---------- libcurl (m4/libcurl.m4) ------------------------------
if test "${enable_client}" = yes; then
@ -274,10 +400,9 @@ ERROR: could not find (recent enough) development-libs for libcurl.
])
else
## add libcurl et al. to the list of statically linked libs
STATIC_LIB_LIST="${STATIC_LIB_LIST} curl idn crypto ssl krb5 k5crypto gssapi_krb5 com_err resolv"
STATIC_LIB_LIST="${STATIC_LIB_LIST} curl idn ssh2 crypto ssl krb5 k5crypto gssapi_krb5 com_err resolv lber ldap socket nsl z rt gcrypt gpg-error"
CPPFLAGS="${CPPFLAGS} ${LIBCURL_CPPFLAGS}"
CURL_LIB_PATHS=`echo $LIBCURL | sed 's/[^[a-zA-Z]]*-l[^ ]*//g'`
LDFLAGS="$CURL_LIB_PATHS $LDFLAGS"
if test "${enable_debug}" = yes; then
echo "LIBCURL = ${LIBCURL}"
@ -285,6 +410,7 @@ ERROR: could not find (recent enough) development-libs for libcurl.
echo "CURL_LIB_PATHS = ${CURL_LIB_PATHS}"
echo "LDFLAGS = ${LDFLAGS}"
fi
BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${LIBCURL}"
fi
@ -316,17 +442,33 @@ SAH_CHECK_LIB([z], [gzopen],
[BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${sah_lib_last}"])
SAH_CHECK_LIB([cups], [md5_finish],
[BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${sah_lib_last}"])
SAH_CHECK_LIB([curl], [curl_easy_init],
[BOINC_EXTRA_LIBS="${BOINC_EXTRA_LIBS} ${LIBCURL}"],, [${LIBCURL}])
LIBS=${SAVELIBS_AAF}
dnl check for pthread
ACX_PTHREAD(AC_DEFINE(HAVE_PTHREAD,1, [Have pthread]))
CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
dnl There are better ways to do this.
dnl CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
dnl LIBS="$PTHREAD_LIBS $LIBS"
# find the install directories in case we need them.
if test "x${prefix}" = "xNONE" -o -z "${prefix}" ; then
prefix="${ac_default_prefix}"
fi
if test "x${exec_prefix}" = "xNONE" -o -z "${exec_prefix}" ; then
exec_prefix="${prefix}"
fi
if test "x${bindir}" = "xNONE" -o -z "${bindir}" ; then
bindir="${exec_prefix}/bin"
fi
if test "x${libdir}" = "xNONE" -o -z "${libdir}" ; then
bindir="${exec_prefix}/lib"
fi
AC_DEFINE_UNQUOTED(BOINC_PREFIX,"`eval echo ${prefix}`",[Directory tree where BOINC will be installed])
AC_DEFINE_UNQUOTED(BOINC_EXECPREFIX,"`eval echo ${bindir}`",[Directory where BOINC executables will be installed])
AC_DEFINE_UNQUOTED(BOINC_LIBDIR,"`eval echo ${libdir}`",[Directory where BOINC libraries will be installed])
dnl ---------- decide wether to build the graphical boinc-api libs or not
dnl check for X11
@ -338,8 +480,8 @@ AX_CHECK_GL
AX_CHECK_GLU
dnl check for glut and prerequesites to the glut-test: libXmu and libXi
AC_CHECK_LIB([Xmu], [main], [have_Xmu="yes"], [have_Xmu="no"])
AC_CHECK_LIB([Xi], [main], [have_Xi="yes"], [have_Xi="no"])
AC_CHECK_LIB([Xmu], [fopen], [have_Xmu="yes"], [have_Xmu="no"])
AC_CHECK_LIB([Xi], [fopen], [have_Xi="yes"], [have_Xi="no"])
AX_CHECK_GLUT
if test "X${no_x}" != "Xyes" -a "$no_glut" = yes; then
@ -421,7 +563,7 @@ AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_TIME
AC_TYPE_SIGNAL
AC_CHECK_HEADERS(windows.h arpa/inet.h dirent.h fcntl.h inttypes.h stdint.h malloc.h alloca.h memory.h netdb.h netinet/in.h netinet/tcp.h signal.h strings.h sys/auxv.h sys/file.h sys/ipc.h sys/mount.h sys/param.h sys/resource.h sys/select.h sys/shm.h sys/socket.h sys/stat.h sys/statvfs.h sys/statfs.h sys/swap.h sys/sysctl.h sys/systeminfo.h sys/time.h sys/types.h sys/utsname.h sys/vmmeter.h sys/wait.h unistd.h utmp.h errno.h procfs.h ieeefp.h)
AC_CHECK_HEADERS(windows.h arpa/inet.h dirent.h grp.h fcntl.h inttypes.h stdint.h malloc.h alloca.h memory.h netdb.h netinet/in.h netinet/tcp.h signal.h strings.h sys/auxv.h sys/file.h sys/ipc.h sys/mount.h sys/param.h sys/resource.h sys/select.h sys/shm.h sys/socket.h sys/stat.h sys/statvfs.h sys/statfs.h sys/swap.h sys/sysctl.h sys/systeminfo.h sys/time.h sys/types.h sys/utsname.h sys/vmmeter.h sys/wait.h unistd.h utmp.h errno.h procfs.h ieeefp.h setjmp.h)
dnl Unfortunately on some 32 bit systems there is a problem with wx-widgets
dnl configuring itself for largefile support. On these systems largefile
@ -448,7 +590,11 @@ AC_LANG_POP
dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(alloca _alloca setpriority strlcpy strlcat strcasestr sigaction getutent setutent getisax strdup strdupa daemon stat64 putenv setenv)
AC_FUNC_ALLOCA
if test "${ac_cv_func_alloca_works}" = "yes" ; then
ac_cv_func_alloca="yes"
fi
AC_CHECK_FUNCS(alloca _alloca __builtin_alloca setpriority strlcpy strlcat strcasestr sigaction getutent setutent getisax strdup strdupa daemon stat64 putenv setenv unsetenv)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
@ -482,77 +628,15 @@ if test -e "/proc/meminfo"; then
fi
dnl ---------- wxWidgets --------------------------------------------------
AM_OPTIONS_WXCONFIG
dnl check for wxWidgets
if test "${enable_client_release}" = yes ; then
if test "${enable_debug}" = yes ; then
if test "${enable_unicode}" = yes ; then
echo 'Portable client-build: checking for debug unicode wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --static=yes --unicode=yes --debug=yes)
else
echo 'Portable client-build: checking for debug wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --static=yes --unicode=no --debug=yes)
fi
else
if test "${enable_unicode}" = yes ; then
echo 'Portable client-build: checking for unicode wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --static=yes --unicode=yes --debug=no)
else
echo 'Portable client-build: checking for wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --static=yes --unicode=no --debug=no)
fi
fi
else
if test "${enable_debug}" = yes ; then
if test "${enable_unicode}" = yes ; then
echo 'checking for debug unicode wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --unicode=yes --debug=yes)
else
echo 'checking for debug wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --unicode=no --debug=yes)
fi
else
if test "${enable_unicode}" = yes ; then
echo 'checking for unicode wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --unicode=yes --debug=no)
else
echo 'checking for wx-libs ...'
AM_PATH_WXCONFIG([2.6.0], [wxWin=1], [wxWin=0], --unicode=no --debug=no)
fi
fi
if test "${enable_manager}" = yes ; then
BOINC_OPTIONS_WXWIDGETS([2.6.0])
if test "$enable_release_client" = yes -a "$disable_static_linkage" = no
then
BOINC_CHECK_GTK
fi
fi
if ( test "${enable_client}" = yes ) && ( test "$wxWin" != 1 ); then
AC_MSG_WARN([
================================================================================
WARNING: A suitable installation of wxWidgets could not be found
==> building client without clientgui.
If you add wxWidgets to your system, then this configure script will also
configure your system to build the BOINC graphical client (clientgui).
If wxWidgets is installed on your system, please check that wx-config is
in the path, that the directory where wxWidgets libraries are installed
(returned by 'wx-config --libs' command) is in LD_LIBRARY_PATH (or equivalent),
and that wxWidgets version is 2.6.0 or above. Currently wxWidgets version
2.6.0 (gtk based) is known to work with boinc_gui under Linux. You can
use wx-config --version to find what version you have currently installed.
NOTE: if building a portable client-release, you need the *static* version
of the wx-libs installed!
You can get wxWidgets by following the DOWNLOAD link at:
http://www.wxwindows.org/
================================================================================
])
fi
AM_CONDITIONAL(BUILD_CLIENTGUI, [ test "$wxWin" = 1 -a "${enable_client}" = yes ])
dnl --------------------------------------------------------------------------------
dnl Heres another way to set up host-specific stuff
@ -567,11 +651,15 @@ AM_CONDITIONAL(OS_LINUX, [echo $host_os | grep '^linux' > /dev/null])
dnl In case anyone wants to try building the windows code using mingw!
AM_CONDITIONAL(OS_WIN32_MINGW, [echo $host_os | grep '^mingw' > /dev/null])
dnl Whether to build fcgi components
AM_CONDITIONAL(ENABLE_FCGI,[test "${enable_fcgi}" = yes])
dnl tell automake about whether to build client and/or server
AM_CONDITIONAL(ENABLE_SERVER, [test "${enable_server}" = yes])
AM_CONDITIONAL(ENABLE_CLIENT, [test "${enable_client}" = yes])
AM_CONDITIONAL(ENABLE_MANAGER, [ test "x${ac_cv_have_wxwidgets}" = xyes -a "${enable_manager}" = yes ])
AM_CONDITIONAL(ENABLE_LIBRARIES, [test "${enable_libraries}" = yes])
AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
dnl ======================================================================
dnl some more vodoo required for building portable client-binary (client, clientgui)
@ -579,56 +667,59 @@ dnl ======================================================================
CLIENTLIBS=
SAH_CHECK_LIB([c],[atexit], [
AC_DEFINE([HAVE_LIBC],[1],[Define to 1 if you have the c library])
CLIENTLIBS="${CLIENTLIBS} ${sah_lib_last}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([gcc_eh],[_Unwind_Resume],[
AC_DEFINE([HAVE_LIBGCC_EH],[1],[Define to 1 if you have the gcc_eh library])
CLIENTLIBS="${CLIENTLIBS} ${sah_lib_last}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([stdc++],[sscanf],[
AC_DEFINE([HAVE_LIBSTDC__],[1],[Define to 1 if you have the stdc++ library])
CLIENTLIBS="${CLIENTLIBS} ${sah_lib_last}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([gcc],[sscanf], [
AC_DEFINE([HAVE_LIBGCC],[1],[Define to 1 if you have the gcc library])
CLIENTLIBS="${CLIENTLIBS} ${sah_lib_last}" ])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([m],[sin], [
AC_DEFINE([HAVE_LIBM],[1],[Define to 1 if you have the math library])
CLIENTLIBS="${CLIENTLIBS} ${sah_lib_last}"])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([c],[atexit], [
AC_DEFINE([HAVE_LIBC],[1],[Define to 1 if you have the c library])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([pthread],[pthread_join],[
AC_DEFINE([HAVE_LIBPTHREAD],[1],[Define to 1 if you have the pthread library])
CLIENTLIBS="${CLIENTLIBS} ${sah_lib_last}"])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
if test x${ac_cv_cxx_compiler_gnu} != xno ; then
SAH_CHECK_LIB([gcc_eh],[_Unwind_Resume],[
AC_DEFINE([HAVE_LIBGCC_EH],[1],[Define to 1 if you have the gcc_eh library])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([gcc],[sscanf], [
AC_DEFINE([HAVE_LIBGCC],[1],[Define to 1 if you have the gcc library])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([c_nonshared],[fopen],[
AC_DEFINE([HAVE_LIBC_NONSHARED],[1],[Define to 1 if you have the c_nonshared library])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LIB([stdc++],[sscanf],[
AC_DEFINE([HAVE_LIBSTDC__],[1],[Define to 1 if you have the stdc++ library])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
fi
SAH_CHECK_LIB([wsock32],[fopen],[
AC_DEFINE([HAVE_LIBWSOCK32],[1],[Define to 1 if you have the wsock32 library])
CLIENTLIBS="${CLIENTLIBS} ${sah_lib_last}"])
CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
if ( test "${disable_static_linkage}" != yes ) && ( test "${enable_client_release}" = yes ); then
echo "----------"
echo "NOTE: Building portable client binaries"
echo "----------"
if test x$ac_cv_cxx_compiler_gnu != xno ; then
SAH_CHECK_LDFLAG([-nodefaultlibs],[CLIENTLIBS="-nodefaultlibs ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LDFLAG([-lSystemStubs],[LIBS="${LIBS} -lSystemStubs"])
echo DEBUG: LIBS=${LIBS} >&5
echo "----------"
echo "NOTE: Building portable client binaries"
echo "----------"
SAH_CHECK_LDFLAG([-nodefaultlibs],[CLIENTLIBS="-nodefaultlibs ${CLIENTLIBS}"])
echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
SAH_CHECK_LDFLAG([-lSystemStubs],[LIBS="${LIBS} -lSystemStubs"])
echo DEBUG: LIBS=${LIBS} >&5
fi
fi
AM_CONDITIONAL([ENABLE_CLIENT_RELEASE],[ ( test "${disable_static_linkage}" != yes ) && ( test "${enable_client_release}" = yes ) ])
AM_CONDITIONAL([BUILD_STATIC_LIBS],[test "x${enable_static}" != xno])
AC_SUBST(CLIENTLIBS)
@ -639,10 +730,21 @@ if test "${enable_debug}" = yes; then
CLIENTGUIFLAGS="${CLIENTGUIFLAGS} -D_DEBUG -DDEBUG"
fi
CLIENTGUILIBS=${WX_LIBS}
AC_ARG_ENABLE(wx-debug,
AS_HELP_STRING([--enable-wx-debug],
[ use wxWidgets debug libraries ]),
[enable_wx_debug="yes"
AC_DEFINE(USE_WX_DEBUG,[1],[Define to 1 to use the wxWidgets debug libraries])
],
[enable_wx_debug="no"])
CLIENTGUILIBS="${WX_LIBS} ${GTK_LIBS}"
if test "${enable_client_release}" = "yes" ; then
SAH_STATICIZE_LDFLAGS([${WX_LIBS_STATIC}],[CLIENTGUILIBS])
if test "x${WX_LIBS_STATIC}" = "x" ; then
WX_LIBS_STATIC="${WX_LIBS}"
fi
SAH_STATICIZE_LDFLAGS([${WX_LIBS_STATIC} ${GTK_LIBS}],[CLIENTGUILIBS])
SAH_STATICIZE_LDFLAGS([${GLUT_LIBS}],[GLUT_LIBS])
SAH_STATICIZE_LDFLAGS([${BOINC_EXTRA_LIBS}],[BOINC_EXTRA_LIBS])
@ -653,15 +755,43 @@ if test "${enable_client_release}" = "yes" ; then
CPPFLAGS="$CPPFLAGS -D__NO_CTYPE"
fi
## prepend BOINC_EXTRA_LIBS (mangled or not) to LIBS for standard linking
LIBS="${BOINC_EXTRA_LIBS} $LIBS"
AC_SUBST(BOINC_EXTRA_LIBS)
AC_SUBST(CLIENTGUIFLAGS)
AC_SUBST(CLIENTGUILIBS)
dnl ======================================================================
dnl Oh! the joys of standards!
WHOAMI=`which logname`
if test -z "${WHOAMI}" -o -z "`${WHOAMI} 2>/dev/null`" ; then
WHOAMI=`which whoami`
fi
if test -z "${WHOAMI}" ; then
who am i 2>/dev/null && WHOAMI="who am i | awk '{print $1}'"
fi
if test -z "${WHOAMI}" -a -x "/usr/ucb/ps" ; then
WHOAMI="/usr/ucb/ps u $$ | tail -1 | awk '{print $1}'"
fi
if test -z "${WHOAMI}" ; then
WHOAMI="ps u $$ | tail -1 | awk '{print $1}'"
fi
dnl Some info about the person compiling used for making some packages.
LOGNAME=`${WHOAMI}`
FULLNAME=`grep ^${LOGNAME}: /etc/passwd | awk -F: '{print $5}'`
if test -z "${FULLNAME}" ; then
FULLNAME=`ypcat passwd 2>/dev/null | grep ^${LOGNAME}: | awk -F: '{print $5}'`
fi
if test -z "${FULLNAME}" ; then
FULLNAME=`nidump passwd / 2>/dev/null | grep ^${LOGNAME}: | awk -F: '{print $5}'`
fi
if test -z "${FULLNAME}" ; then
FULLNAME=$LOGNAME
fi
AC_SUBST(LOGNAME)
AC_SUBST(FULLNAME)
AC_CONFIG_FILES([
./version.h
version.h
api/Makefile
apps/Makefile
clientgui/Makefile
@ -683,7 +813,7 @@ AC_CONFIG_FILES([
py/Makefile
sched/boinc_path_config.py:py/Boinc/boinc_path_config.py.in
sched/Makefile
sea/Makefile
packages/generic/sea/Makefile
test/boinc_path_config.py:py/Boinc/boinc_path_config.py.in
test/Makefile
test/version.inc

View File

@ -8,7 +8,7 @@ if ENABLE_CLIENT
CLIENT_MANS = boinc.1 boinccmd.1
endif
if BUILD_CLIENTGUI
if ENABLE_MANAGER
CLIENTGUI_MANS = boincmgr.1
endif
@ -18,7 +18,9 @@ endif
man_MANS = $(CLIENT_MANS) $(CLIENTGUI_MANS) $(SERVER_MANS)
%.1: %.xml
SUFFIXES = .xml .1
.xml.1:
$(DOCBOOK2X_MAN) $<
all-local: $(man_MANS)

View File

@ -3,60 +3,24 @@
include $(top_srcdir)/Makefile.incl
#if HAVE_NSL
nslprogs=boinc_cmd$(EXEEXT)
#endif
bin_PROGRAMS =
bin_PROGRAMS = crypt_prog$(EXEEXT) $(nslprogs)
# Stuff needed for server builds goes here.
if ENABLE_SERVER
EXTRA_PROGRAMS = md5_test$(EXEEXT) shmem_test$(EXEEXT) msg_test$(EXEEXT)
bin_PROGRAMS += crypt_prog
all-local: client-bin
client-bin: @CLIENT_CMD_BIN_FILENAME@
boinc_cmd_SOURCES = \
boinc_cmd.cpp \
gui_rpc_client.h
boinc_cmd_LDADD = $(lib_LIBRARIES) $(PTHREAD_LIBS)
# make a hard link to the client name.
@CLIENT_CMD_BIN_FILENAME@: boinc_cmd$(EXEEXT)
rm -f $@
rm -f $@.unmodified
cp $? $@.unmodified
@LN@ $? $@
@STRIP@ $@
lib_LIBRARIES = libboinc.a
EXTRA_DIST = *.h *.cpp
if OS_DARWIN
mac_sources = \
mac/dyld_gdb.h \
mac/mac_backtrace.cpp \
mac/mac_backtrace.h \
mac/QBacktrace.c \
mac/QBacktrace.h \
mac/QCrashReport.c \
mac/QCrashReport.h \
mac/QMachOImage.c \
mac/QMachOImage.h \
mac/QMachOImageList.c \
mac/QMachOImageList.h \
mac/QSymbols.c \
mac/QSymbols.h \
mac/QTaskMemory.c \
mac/QTaskMemory.h
else
mac_sources =
endif
# end of "if ENABLE_SERVER"
libboinc_a_SOURCES = \
if ENABLE_LIBRARIES
generic_sources = \
app_ipc.cpp \
base64.cpp \
cert_sig.cpp \
boinc_fcgi.cpp \
cert_sig.cpp \
coproc.cpp \
crypt.cpp \
diagnostics.cpp \
@ -65,7 +29,7 @@ libboinc_a_SOURCES = \
gui_rpc_client_ops.cpp \
gui_rpc_client_print.cpp \
hostinfo.cpp \
mac_address.cpp \
mac_address.cpp \
md5.c \
md5_file.cpp \
mem_usage.cpp \
@ -81,13 +45,38 @@ libboinc_a_SOURCES = \
str_util.cpp \
util.cpp \
unix_util.cpp \
$(mac_sources)
synch.cpp
if OS_DARWIN
mac_sources = \
mac/mac_backtrace.cpp \
mac/QBacktrace.c \
mac/QCrashReport.c \
mac/QMachOImage.c \
mac/QMachOImageList.c \
mac/QSymbols.c \
mac/QTaskMemory.c
mac_headers = \
mac/dyld_gdb.h \
mac/mac_backtrace.h \
mac/QBacktrace.h \
mac/QCrashReport.h \
mac/QMachOImage.h \
mac/QMachOImageList.h \
mac/QSymbols.h \
mac/QTaskMemory.h
else
mac_sources =
mac_headers =
endif
if INSTALL_HEADERS
pkginclude_HEADERS = \
app_ipc.h \
boinc_win.h \
boinc_fcgi.h \
common_defs.h \
boinc_win.h \
common_defs.h \
coproc.h \
crypt.h \
diagnostics.h \
@ -104,15 +93,62 @@ pkginclude_HEADERS = \
proxy_info.h \
std_fixes.h \
str_util.h \
util.h
synch.h \
util.h \
$(mac_headers)
endif
md5_test_SOURCES = md5_test.cpp md5.c md5_file.cpp
shmem_test_SOURCES = shmem_test.cpp shmem.cpp
msg_test_SOURCES = msg_test.cpp msg_queue.cpp
crypt_prog_SOURCES = crypt_prog.cpp crypt.cpp md5.c md5_file.cpp filesys.cpp
crypt_prog_DEPENDENCIES =
crypt_prog_LDADD = $(lib_LIBRARIES) $(RSA_LIBS) $(PTHREAD_LIBS)
lib_LTLIBRARIES = libboinc.la
libboinc_la_SOURCES = $(generic_sources) $(mac_sources)
libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
libboinc_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
libboinc_la_LIBADD =
if ENABLE_FCGI
lib_LTLIBRARIES += libboinc_fcgi.la
libboinc_fcgi_la_SOURCES = $(generic_sources) $(mac_sources)
libboinc_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
libboinc_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS)
libboinc_fcgi_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
libboinc_fcgi_la_LIBADD =
endif
# end of "if ENABLE_FCGI"
if BUILD_STATIC_LIBS
all_local = libboinc.a
if ENABLE_FCGI
all_local += libboinc_fcgi.a
endif
endif
all-local: $(all_local)
libboinc.a: libboinc.la
rm -f libboinc.a
ln .libs/libboinc.a
libboinc_fcgi.a: libboinc_fcgi.la
rm -f libboinc_fcgi.a
ln .libs/libboinc_fcgi.a
endif
# end of "if ENABLE_LIBRARIES"
EXTRA_PROGRAMS = md5_test shmem_test msg_test
EXTRA_DIST = *.h *.cpp
md5_test_SOURCES = md5_test.cpp
md5_test_CXXFLAGS = $(PTHREAD_CFLAGS)
md5_test_LDADD = $(LIBBOINC)
shmem_test_SOURCES = shmem_test.cpp
shmem_test_CXXFLAGS = $(PTHREAD_CFLAGS)
shmem_test_LDADD = $(LIBBOINC)
msg_test_SOURCES = msg_test.cpp
msg_test_CXXFLAGS = $(PTHREAD_CFLAGS)
msg_test_LDADD = $(LIBBOINC)
crypt_prog_SOURCES = crypt_prog.cpp
crypt_prog_CXXFLAGS = $(PTHREAD_CFLAGS)
crypt_prog_LDADD = $(LIBBOINC) $(SSL_LIBS)
clean-local:
rm -f @CLIENT_CMD_BIN_FILENAME@
rm -f @CLIENT_CMD_BIN_FILENAME@.unmodified

View File

@ -15,6 +15,12 @@
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
#include "config.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#else
#include <cstdio>
#endif
#include "miofile.h"
#include "error_numbers.h"
#include "cert_sig.h"
@ -127,10 +133,13 @@ int CERT_SIGS::parse_miofile_embed(MIOFILE &mf) {
}
int CERT_SIGS::parse_file(const char* filename) {
FILE* f;
int retval;
f = fopen(filename, "r");
#ifndef _USING_FCGI_
FILE *f = fopen(filename, "r");
#else
FCGI_FILE *f = FCGI::fopen(filename, "r");
#endif
if (!f)
return ERR_FOPEN;
MIOFILE mf;

View File

@ -77,11 +77,18 @@ struct DATA_BLOCK {
// size of text-encoded signature
#define SIGNATURE_SIZE_TEXT (SIGNATURE_SIZE_BINARY*2+20)
extern int print_hex_data(FILE* f, DATA_BLOCK&);
extern int sprint_hex_data(char* p, DATA_BLOCK&);
#ifndef _USING_FCGI_
extern int print_hex_data(FILE* f, DATA_BLOCK&);
extern int scan_hex_data(FILE* f, DATA_BLOCK&);
extern int print_key_hex(FILE*, KEY* key, int len);
extern int scan_key_hex(FILE*, KEY* key, int len);
#else
extern int print_hex_data(FCGI_FILE* f, DATA_BLOCK&);
extern int scan_hex_data(FCGI_FILE* f, DATA_BLOCK&);
extern int print_key_hex(FCGI_FILE*, KEY* key, int len);
extern int scan_key_hex(FCGI_FILE*, KEY* key, int len);
#endif
extern int sscan_key_hex(const char*, KEY* key, int len);
extern int encrypt_private(
R_RSA_PRIVATE_KEY& key, DATA_BLOCK& in, DATA_BLOCK& out

View File

@ -35,6 +35,10 @@
#include <unistd.h>
#endif
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#endif
#ifdef __APPLE__
#include "mac_backtrace.h"
#endif
@ -299,7 +303,12 @@ int diagnostics_init(
strcpy(proxy_address, "");
proxy_port = 0;
#ifndef _USING_FCGI_
p = fopen(INIT_DATA_FILE, "r");
#else
p = FCGI::fopen(INIT_DATA_FILE, "r");
#endif
if (p) {
mf.init_file(p);
while(mf.fgets(buf, sizeof(buf))) {

View File

@ -36,6 +36,9 @@
#define __attribute__(x) //nothing
#endif
#undef printf
#undef vprintf
class MSG_LOG {
public:
int debug_level;

View File

@ -27,6 +27,10 @@
#include <time.h>
#endif
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#endif
#include "parse.h"
#include "util.h"
@ -592,7 +596,11 @@ int GLOBAL_PREFS::parse_file(
GLOBAL_PREFS_MASK mask;
int retval;
#ifndef _USING_FCGI_
f = fopen(filename, "r");
#else
f = FCGI::fopen(filename, "r");
#endif
if (!f) return ERR_FOPEN;
MIOFILE mf;
mf.init_file(f);

1453
ltmain.sh

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,31 @@
AC_DEFUN([BOINC_CHECK_LIB_WITH],[
dnl arguments $1 library name (-l$1)
dnl $2 function name
dnl $3 variable to append LDFLAGS to
AC_LANG_PUSH(C)
_sv_libs="$LIBS"
AC_ARG_WITH([lib$1],
AC_HELP_STRING([--with-lib$1=DIR],[look for the $1 library in DIR]),
[_lib_with=$withval],[_lib_with=no])
_NEW_LDFLAGS=
if test "x${_lib_with}" != "xno" ; then
if test -d $_lib_with/. ; then
_NEW_LDFLAGS="${_NEW_LDFLAGS} -L${_lib_with}"
LIBS="${LIBS} ${_NEW_LDFLAGS}"
fi
AC_CHECK_LIB([$1],[$2],[_lib_found=yes])
if test "x${_lib_found}" = "xyes" ; then
if test -f ${_lib_with} ; then
_NEW_LDFLAGS="${_NEW_LDFLAGS} ${_lib_with}"
elif test -h ${_lib_with} -a ! -d ${_lib_with}/. ; then
_NEW_LDFLAGS="${_NEW_LDFLAGS} ${_lib_with}"
else
_NEW_LDFLAGS="${_NEW_LDFLAGS} -l$1"
fi
$3="${$3} ${_NEW_LDFLAGS}"
fi
fi
LIBS="${_sv_libs}"
AC_LANG_POP(C)
])

40
m4/boinc_gtk.m4 Normal file
View File

@ -0,0 +1,40 @@
AC_DEFUN([BOINC_CHECK_GTK],[
AC_MSG_CHECKING([if wxWidgets uses GTK])
loc_uses_gtk="`echo $WX_LIBS | grep gtk`"
if test "x${loc_uses_gtk}" = "x" ; then
AC_MSG_RESULT(no)
else
AC_MSG_RESULT(yes)
AC_PATH_PROG(PKGCONFIG,[$mypkgconfig pkg-config])
AC_MSG_CHECKING([if gtk uses pkg-config])
gtk_module="`$PKGCONFIG --list-all | egrep '^gtk\+?-' | head -1 | awk '{print $[]1}'`"
if test "x${gtk_module}" != x; then
GTK_CONFIG="$PKGCONFIG ${gtk_module}"
AC_MSG_RESULT([yes])
else
GTK_CONFIG="no"
AC_MSG_RESULT([no])
fi
if test "x${GTK_CONFIG}" = "xno" ; then
AC_PATH_PROG(GTK_CONFIG,[gtk-config],no)
fi
if test "x${GTK_CONFIG}" != "xno" ; then
gtk_config_flags="--libs"
GTK_DYNLIBS="`$GTK_CONFIG ${gtk_config_flags}`"
if test "x${enable_client_release}" = "xyes" ; then
gtk_config_flags="--libs --static"
fi
AC_MSG_CHECKING([GTK libraries])
GTK_LIBS=`$GTK_CONFIG ${gtk_config_flags}`
if test "x$GTK_LIBS" = "x" ; then
GTK_LIBS="$GTK_DYNLIBS"
fi
AC_MSG_RESULT([$GTK_LIBS])
else
GTK_LIBS=
AC_MSG_RESULT(none)
fi
fi
AC_SUBST([GTK_LIBS])
])

View File

@ -1,6 +1,13 @@
dnl These functions still require wxWidgets.m4
AC_DEFUN([BOINC_OPTIONS_WXWIDGETS],[
AC_ARG_ENABLE(unicode,
AS_HELP_STRING([--enable-unicode/--disable-unicode],
[enable/disable building the manager with unicode support]),
[enable_unicode="$enableval"],
[])
AM_OPTIONS_WXCONFIG
AM_PATH_WXCONFIG($1, [_ac_cv_have_wxwidgets=yes], [_ac_cv_have_wxwidgets=no])
AC_CACHE_CHECK([if wxWidgets works],[ac_cv_have_wxwidgets],
@ -38,7 +45,16 @@ WARNING: No static libraries for wxWidgets are installed.
ac_cv_wxwidgets_options="${ac_cv_wxwidgets_options} --static=no"
fi
fi
wx_default_config="`$WX_CONFIG ${ac_cv_wxwidgets_options} --selected-config`"
if test "x${enable_unicode}" = x ; then
isuc="`echo ${wx_default_config} | grep unicode`"
if test "x${isuc}" = x ; then
enable_unicode=no
else
enable_unicode=yes
fi
fi
if test "x${enable_unicode}" != x ; then
if $WX_CONFIG ${ac_cv_wxwidgets_options} --unicode=${enable_unicode} --selected-config 2>&1 >/dev/null ; then
ac_cv_wxwidgets_options="${ac_cv_wxwidgets_options} --unicode=${enable_unicode}"
@ -62,7 +78,7 @@ WARNING: No ${uprf} libraries for wxWidgets are installed.
ac_cv_wxwidgets_options="${ac_cv_wxwidgets_options}"
fi
fi
wx_default_config="`$WX_CONFIG ${ac_cv_wxwidgets_options} --selected-config`"
if test "x${enable_wx_debug}" != x ; then
if $WX_CONFIG ${ac_cv_wxwidgets_options} --debug=${enable_debug} --selected-config 2>&1 >/dev/null ; then
ac_cv_wxwidgets_options="${ac_cv_wxwidgets_options} --debug=${enable_debug}"
@ -87,7 +103,10 @@ WARNING: No ${uprf} libraries for wxWidgets are installed.
fi
fi
])
if test "x${am_cv_wxwidgets_options}" != "x" ; then
wx_default_config="`$WX_CONFIG ${ac_cv_wxwidgets_options} --selected-config`"
AC_MSG_CHECKING([wxWidgets config to use])
AC_MSG_RESULT([$wx_default_config])
if test "x${ac_cv_wxwidgets_options}" != "x" ; then
AM_PATH_WXCONFIG($1, wxWin=1, wxWin=0, ${ac_cv_wxwidgets_options})
fi
fi

View File

@ -1,30 +1,70 @@
AC_DEFUN([CHECK_SSL],
[AC_MSG_CHECKING(for openssl)
[
SSLDIR=
found_ssl="no"
SSL_LIBS=
SSL_CFLAGS=
SSL_CXXFLAGS=
AC_ARG_WITH(pkg-config,
AC_HELP_STRING([--with-pkg-config],
[Use pkg-config specified]),
[mypkgconfig="${withval}"]
[mypkgconfig=])
AC_PATH_PROG(PKGCONFIG,[$mypkgconfig pkg-config])
AC_ARG_WITH(ssl,
AC_HELP_STRING([--with-ssl],
[Use openssl (in specified installation directory)]),
[check_ssl_dir="$withval"],
[check_ssl_dir=])
for dir in $check_ssl_dir ${prefix} /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr; do
ssldir="$dir"
if test -f "$dir/include/openssl/ssl.h"; then
found_ssl="yes";
SSLDIR="${ssldir}"
CFLAGS="$CFLAGS -I$ssldir/include -I$ssldir/include/openssl";
CXXFLAGS="$CXXFLAGS -I$ssldir/include -I$ssldir/include/openssl";
break;
fi
if test -f "$dir/include/ssl.h"; then
found_ssl="yes";
SSLDIR="${ssldir}"
CFLAGS="$CFLAGS -I$ssldir/include/";
CXXFLAGS="$CXXFLAGS -I$ssldir/include/";
break
fi
done
if test "x${PKGCONFIG}" != "x" -a "x${check_ssl_dir}" = "x" ; then
SSLDIR="`${PKGCONFIG} openssl --cflags-only-I | sed -e 's/-I//' -e 's/\/include\/openssl//' -e 's/\/include//' | grep '[a-z]' 2>/dev/null`"
if test "x${SSLDIR}" = "x" ; then
if test -d "/usr/include/openssl" -o -f "/usr/include/ssl.h" ; then
SSLDIR="/usr"
fi
fi
if test "x${enable_client_release}" = "xyes" -o "x${disable_static_linkage}" = "xno" ; then
SSL_LIBS="`${PKGCONFIG} openssl --libs --static 2>/dev/null`"
fi
if test "x${SSL_LIBS}" = "x" ; then
SSL_LIBS="`${PKGCONFIG} openssl --libs 2>/dev/null`"
fi
SSL_CFLAGS="`${PKGCONFIG} openssl --cflags 2>/dev/null`"
SSL_CXXFLAGS="${SSL_CFLAGS}"
SSL_CPPFLAGS="${SSL_CFLAGS}"
found_ssl="yes"
fi
if test "x${SSL_LIBS}" = "x" ; then
found_ssl="no"
for dir in $check_ssl_dir ${prefix} /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr /opt/misc /opt/csw /opt/sfw; do
ssldir="$dir"
if test -f "$dir/include/openssl/ssl.h"; then
found_ssl="yes";
SSLDIR="${ssldir}"
SSL_CFLAGS="-I$ssldir/include -I$ssldir/include/openssl";
SSL_CXXFLAGS="-I$ssldir/include -I$ssldir/include/openssl";
SSL_LIBS="-L$ssldir -lssl -lcrypto -ldl -lz"
break;
fi
if test -f "$dir/include/ssl.h"; then
found_ssl="yes"
SSLDIR="${ssldir}"
SSL_CFLAGS="-I$ssldir/include/"
SSL_CXXFLAGS="-I$ssldir/include/"
SSL_LIBS="-L$ssldir -lssl -lcrypto"
break;
fi
done
fi
AC_MSG_CHECKING(for openssl)
AC_MSG_RESULT($found_ssl)
BOINC_CHECK_LIB_WITH([gcrypt],[gcry_randomize],[SSL_LIBS])
BOINC_CHECK_LIB_WITH([gpg-error],[gpg_strerror], [SSL_LIBS])
if test x_$found_ssl != x_yes; then
AC_MSG_ERROR([
----------------------------------------------------------------------
@ -35,11 +75,12 @@ if test x_$found_ssl != x_yes; then
----------------------------------------------------------------------
])
else
printf "OpenSSL found in $ssldir\n";
SSL_LIBS="-lssl -lcrypto";
LDFLAGS="$LDFLAGS -L$ssldir/lib";
printf "OpenSSL found in $SSLDIR\n";
AC_DEFINE_UNQUOTED([USE_OPENSSL],[1],
["Define to 1 if you want to use the openssl crypto library"])
AC_SUBST(SSLDIR)
AC_SUBST(SSL_CFLAGS)
AC_SUBST(SSL_CXXFLAGS)
AC_SUBST(SSL_LIBS)
fi
])dnl
])

View File

@ -95,16 +95,17 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG],
if test x"$LIBCURL_CPPFLAGS" = "x" ; then
LIBCURL_CPPFLAGS=`$_libcurl_config --cflags`
fi
if test x"$LIBCURL" = "x" ; then
if test "x${disable_static_linkage}" = "xno" ; then
if $_libcurl_config --static-libs 2>&1 > /dev/null ; then
LIBCURL="`$_libcurl_config --static-libs` -lgcrypt"
LIBCURL="`$_libcurl_config --static-libs`"
fi
fi
fi
if test x"$LIBCURL" = "x" ; then
LIBCURL=`$_libcurl_config --libs`
LIBCURL="`$_libcurl_config --libs`"
# This is so silly, but Apple actually has a bug in their
# curl-config script. Fixed in Tiger, but there are still
@ -112,7 +113,7 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG],
case "${host}" in
powerpc-apple-darwin7*)
LIBCURL=`echo $LIBCURL | sed -e 's|-arch i386||g'`
;;
;;
esac
fi
@ -130,6 +131,40 @@ AC_DEFUN([LIBCURL_CHECK_CONFIG],
unset _libcurl_wanted
fi
# do we need the ldap libraries?
if test "x${_libldap_with}" = "x" -a \
"x`echo $_libcurl_protocols | grep LDAP`" != x; then
_libldap_with=yes
BOINC_CHECK_LIB_WITH([ldap],[ldap_initialize],[LIBCURL])
else
_libldap_with=no
fi
# some curl configs have the ber and ldap libraries in the wrong order,
# so lets add -lber after -lldap.
if test "x`echo $LIBCURL | grep ldap`" != "x" -a \
"x`echo $LIBCURL | grep lber`" != "x" ; then
AC_CHECK_LIB([lber],[ber_scanf],
LIBCURL="`echo $LIBCURL | sed -e 's/ldap /ldap -llber /'`"
)
fi
BOINC_CHECK_LIB_WITH([gnutls],[gnutls_cipher_get],[LIBCURL])
BOINC_CHECK_LIB_WITH([sasl2],[sasl_dispose],[LIBCURL])
BOINC_CHECK_LIB_WITH([gssglue],[gss_wrap],[LIBCURL])
if test "${_lib_with}" = yes ; then
LIBCURL="`echo $LIBCURL | sed -e 's/-lgssapi_krb5 / /g'`"
fi
BOINC_CHECK_LIB_WITH([gssapi_krb5],[gss_wrap],[LIBCURL])
if test "${_lib_with}" = yes ; then
LIBCURL="`echo $LIBCURL | sed -e 's/-lgssglue / /g'`"
fi
BOINC_CHECK_LIB_WITH([gss],[gss_wrap],[LIBCURL])
if test $_libcurl_try_link = yes ; then
# we didn't find curl-config, so let's see if the user-supplied

View File

@ -25,7 +25,6 @@ AC_DEFUN([SAH_CHECK_LIB],[
AC_DEFUN([SAH_CHECK_LDFLAG],[
sv_ldflags="${LDFLAGS}"
AC_MSG_CHECKING(if compiler works with $1 flag)
@ -55,51 +54,60 @@ AC_DEFUN([SAH_LINKAGE_FLAGS],[
ld_dynamic_option=""
LD_EXPORT_DYNAMIC=""
else
if test -z "${ld_static_option}"
if test -z "${ld_static_option}" && test -z "${using_libtool}"
then
case $target in
*linux* | *solaris* | *cygwin* )
AC_MSG_CHECKING([${CC} flags for static linkage ...])
ld_static_option="-Wl,-Bstatic"
AC_MSG_RESULT($ld_static_option)
AC_MSG_CHECKING([${CC} flags for dynamic linkage ...])
ld_dynamic_option="-Wl,-Bdynamic"
AC_MSG_RESULT($ld_dynamic_option)
;;
*darwin* )
AC_MSG_CHECKING([${CC} flags for static linkage ...])
ld_static_option="-static"
AC_MSG_RESULT($ld_static_option)
AC_MSG_CHECKING([${CC} flags for dynamic linkage ...])
ld_dynamic_option="-dynamic"
AC_MSG_RESULT($ld_dynamic_option)
;;
*)
if test -z "${dummy_ld_variable_gfdsahjf}"
then
dummy_ld_variable_gfdsahjf="been there done that"
AC_MSG_CHECKING([if we are using libtool])
if test "x$lt_cv_path_LD" != "x" ; then
AC_MSG_RESULT(yes)
using_libtool=yes
ld_static_option="-static-libtool-libs"
else
AC_MSG_RESULT(no)
using_libtool=no
case $target in
*linux* | *solaris* | *cygwin* )
AC_MSG_CHECKING([${CC} flags for static linkage ...])
AC_MSG_RESULT(unknown)
ld_static_option="-Wl,-Bstatic"
AC_MSG_RESULT($ld_static_option)
AC_MSG_CHECKING([${CC} flags for dynamic linkage ...])
AC_MSG_RESULT(unknown)
fi
;;
esac
AC_MSG_CHECKING([${CC} flags for exporting dynamic symbols from an executable ...])
case $target in
*cygwin*)
LD_EXPORT_DYNAMIC="-Wl,--export-all-symbols"
AC_MSG_RESULT(${LD_EXPORT_DYNAMIC})
;;
*linux*)
AC_MSG_RESULT(-rdynamic)
LD_EXPORT_DYNAMIC="-rdynamic"
;;
*)
AC_MSG_RESULT(none required)
LD_EXPORT_DYNAMIC=
;;
esac
ld_dynamic_option="-Wl,-Bdynamic"
AC_MSG_RESULT($ld_dynamic_option)
;;
*darwin* )
AC_MSG_CHECKING([${CC} flags for static linkage ...])
ld_static_option="-static"
AC_MSG_RESULT($ld_static_option)
AC_MSG_CHECKING([${CC} flags for dynamic linkage ...])
ld_dynamic_option="-dynamic"
AC_MSG_RESULT($ld_dynamic_option)
;;
*)
if test -z "${dummy_ld_variable_gfdsahjf}"
then
dummy_ld_variable_gfdsahjf="been there done that"
AC_MSG_CHECKING([${CC} flags for static linkage ...])
AC_MSG_RESULT(unknown)
AC_MSG_CHECKING([${CC} flags for dynamic linkage ...])
AC_MSG_RESULT(unknown)
fi
;;
esac
AC_MSG_CHECKING([${CC} flags for exporting dynamic symbols from an executable ...])
case $target in
*cygwin*)
LD_EXPORT_DYNAMIC="-Wl,--export-all-symbols"
AC_MSG_RESULT(${LD_EXPORT_DYNAMIC})
;;
*linux*)
AC_MSG_RESULT(-rdynamic)
LD_EXPORT_DYNAMIC="-rdynamic"
;;
*)
AC_MSG_RESULT(none required)
LD_EXPORT_DYNAMIC=
;;
esac
fi
fi
fi
if test -z "${LIBEXT}";
@ -145,30 +153,40 @@ AC_CACHE_CHECK([$tmp_msg],
else
sah_static_checklibs="lib$1.${LIBEXT} $1.${LIBEXT} -l$1"
fi
if test "${using_libtool}" = "yes" ; then
echo ac_link=$ac_link
ac_sv_link="$ac_link"
ac_link="./libtool --mode=link ${ac_link}"
sah_static_checklibs="lib$1.la $1.la ${sah_static_checklibs}"
fi
sah_save_libs="${LIBS}"
for libname in ${sah_static_checklibs}
do
SAH_FIND_STATIC_LIB(${libname})
if test -n "${tmp_lib_name}"
then
LIBS="${tmp_lib_name} $5 ${sah_save_libs}"
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#define CONFIG_TEST 1
#ifdef __cplusplus
extern "C" {
#endif
char $2 ();
#ifdef __cplusplus
}
#endif
]],
[ $2 (); ])],
[
tmp_res="${tmp_lib_name}"
]
)
fi
dnl if test -z "`echo $tmp_lib_name | grep \\.la$`" ; then
if test -n "${tmp_lib_name}"
then
LIBS="${tmp_lib_name} $5 ${sah_save_libs}"
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#define CONFIG_TEST 1
#ifdef __cplusplus
extern "C" {
#endif
char $2 ();
#ifdef __cplusplus
}
#endif
]],
[ $2 (); ])],
[
tmp_res="${tmp_lib_name}"
]
)
fi
dnl else
dnl tmp_res="-l$1"
dnl fi
if test "${tmp_res}" != "no"
then
break
@ -178,6 +196,9 @@ AC_CACHE_CHECK([$tmp_msg],
eval ${varname}='"'${tmp_res}'"'
eval ${var2}='"'${tmp_res}'"'
])
if test "${using_libtool}" = "yes" ; then
ac_link="$ac_sv_link"
fi
#
# save the result for use by the caller
sah_static_lib_last="`eval echo '${'$varname'}'`"
@ -225,6 +246,12 @@ AC_CACHE_CHECK([$tmp_msg],
else
sah_dynamic_checklibs="-l$1"
fi
if test "${using_libtool}" = "yes" ; then
echo ac_link=$ac_link
ac_sv_link="$ac_link"
ac_link="./libtool --mode=link ${ac_link}"
sah_dynamic_checklibs="lib$1.la $1.la ${sah_dynamic_checklibs}"
fi
sah_save_libs="${LIBS}"
for libname in ${sah_dynamic_checklibs}
do
@ -268,6 +295,9 @@ AC_CACHE_CHECK([$tmp_msg],
])
fi
done
if test "${using_libtool}" = "yes" ; then
ac_link="${ac_sv_link}"
fi
LIBS="${sah_save_libs}"
eval ${varname}='"'${tmp_res}'"'
eval ${var2}='"'${tmp_res}'"'
@ -342,6 +372,7 @@ fi
gcc_version=`${CC} -v 2>&1 | grep "gcc version" | $AWK '{print $[]3}'`
for gcc_host in `${CC} -v 2>&1 | grep host` --host=${ac_cv_target}
do
if test -n "`echo x$gcc_host | grep x--host=`"
@ -362,6 +393,26 @@ do
fi
done
mydir=`pwd`
tmpgcc_libpath=
for dirs in `${CC} -print-search-dirs 2>&1 | grep libraries | sed -e 's/:/ /g' -e 's/=/ /g'`
do
if test -d $dirs/. && cd $dirs 2>&1 >/dev/null ; then
nowdir=`pwd`
if test -n "${tmpgcc_libpath}" ; then
tmpgcc_libpath="${tmpgcc_libpath}:${nowdir}"
else
tmpgcc_libpath="${dirs}"
fi
fi
cd $mydir
done
cd $mydir
if test -n "${tmpgcc_libpath}" ; then
tmp_libpath="${tmpgcc_libpath}:${tmp_libpath}"
fi
# now lets add any directories in LIBS or LDFLAGS
tmp_more_dirs=`echo $LIBS $LDFLAGS | $AWK '{for (i=1;i<(NF+1);i++) { printf("x%s\n",$[]i); }}' | grep x-L | sed 's/x-L//' | $AWK '{printf("%s:",$[]1);}'`
tmp_libpath="${tmp_more_dirs}${tmp_libpath}"

View File

@ -5,44 +5,38 @@ vers = \
@BOINC_MAJOR_VERSION@.@BOINC_MINOR_VERSION@.@BOINC_RELEASE@_@boinc_platform@
sea = boinc_$(vers).sh
tarfiles = BOINC/boinc BOINC/boincmgr BOINC/boinccmd BOINC/binstall.sh\
BOINC/libboinc*.so*
BOINC/boincmgr.16x16.png BOINC/boincmgr.32x32.png BOINC/boincmgr.48x48.png \
BOINC/libcudart.so BOINC/ca-bundle.crt
sea_debug = boinc_$(vers)_debug.sh
tarfiles_debug = BOINC_debug/boinc.unmodified BOINC_debug/boincmgr.unmodified\
BOINC_debug/boinccmd.unmodified BOINC_debug/binstall.sh\
BOINC_debug/boincmgr.16x16.png BOINC_debug/boincmgr.32x32.png\
BOINC_debug/boincmgr.48x48.png \
BOINC_debug/libcudart.so BOINC_debug/ca-bundle.crt
all: $(sea) $(sea_debug)
all: $(sea) $(top_builddir)/stage
# WARNING: WHAT FOLLOWS IS 'FRAGILE'. DO NOT REPLACE
# TABS WITH SPACES!
$(top_builddir)/stage:
cd $(top_builddir) ; make stage
$(sea): sea.tar make-sea.sh Makefile
./make-sea.sh sea.tar $(sea) BOINC/binstall.sh
$(sea_debug): sea_debug.tar make-sea.sh Makefile
./make-sea.sh sea_debug.tar $(sea_debug) BOINC_debug/binstall.sh
sea.tar: $(tarfiles)
./make-tar.sh
sea_debug.tar: $(tarfiles_debug)
./make-tar_debug.sh
BOINC/boinc: $(top_builddir)/stage/$(bindir)/boinc BOINC
cp $(top_builddir)/stage/$(bindir)/boinc BOINC/boinc
BOINC/boinc: ../client/boinc BOINC
cp ../client/boinc BOINC/boinc
BOINC/libboinc*.so*:
cp -P $(top_builddir)/stage/$(libdir)/libboinc*.so* BOINC
BOINC/boincmgr: ../clientgui/boincmgr BOINC
cp ../clientgui/boincmgr BOINC/boincmgr
BOINC/boincmgr: $(top_builddir)/stage/$(bindir)/boincmgr BOINC
cp $(top_builddir)/stage/$(bindir)/boincmgr BOINC/boincmgr
BOINC/boinccmd: ../lib/boinccmd BOINC
cp ../lib/boinccmd BOINC/boinccmd
BOINC/boinccmd: $(top_builddir)/stage/$(bindir)/boinccmd BOINC
cp $(top_builddir)/stage/$(bindir)/boinccmd BOINC/boinccmd
BOINC/libcudart.so: ../coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC
cp ../coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC/libcudart.so
BOINC/libcudart.so: $(top_builddir)/coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC
cp $(top_builddir)/coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC/libcudart.so
BOINC/boincmgr.16x16.png: boincmgr.16x16.png
cp boincmgr.16x16.png BOINC/boincmgr.16x16.png
@ -50,20 +44,20 @@ BOINC/boincmgr.32x32.png: boincmgr.32x32.png
cp boincmgr.32x32.png BOINC/boincmgr.32x32.png
BOINC/boincmgr.48x48.png: boincmgr.48x48.png
cp boincmgr.48x48.png BOINC/boincmgr.48x48.png
BOINC/ca-bundle.crt: ../curl/ca-bundle.crt
cp ../curl/ca-bundle.crt BOINC/ca-bundle.crt
BOINC/ca-bundle.crt: $(top_builddir)/curl/ca-bundle.crt
cp $(top_builddir)/curl/ca-bundle.crt BOINC/ca-bundle.crt
BOINC_debug/boinc.unmodified: ../client/boinc.unmodified BOINC_debug
cp ../client/boinc.unmodified BOINC_debug/boinc.unmodified
BOINC_debug/boinc.unmodified: $(top_builddir)/stage/$(bindir)/boinc.unmodified BOINC_debug
cp $(top_builddir)/stage/$(bindir)/boinc.unmodified BOINC_debug/boinc.unmodified
BOINC_debug/boincmgr.unmodified: ../clientgui/boincmgr.unmodified BOINC_debug
cp ../clientgui/boincmgr.unmodified BOINC_debug/boincmgr.unmodified
BOINC_debug/boincmgr.unmodified: $(top_builddir)/stage/$(bindir)/boincmgr.unmodified BOINC_debug
cp $(top_builddir)/stage/$(bindir)/boincmgr.unmodified BOINC_debug/boincmgr.unmodified
BOINC_debug/boinccmd.unmodified: ../lib/boinccmd.unmodified BOINC_debug
cp ../lib/boinccmd.unmodified BOINC_debug/boinccmd.unmodified
BOINC_debug/boinccmd.unmodified: $(top_builddir)/lib/boinccmd.unmodified BOINC_debug
cp $(top_builddir)/lib/boinccmd.unmodified BOINC_debug/boinccmd.unmodified
BOINC_debug/libcudart.so: ../coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC_debug
cp ../coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC_debug/libcudart.so
BOINC_debug/libcudart.so: $(top_builddir)/coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC_debug
cp $(top_builddir)/coprocs/CUDA/posix/@boinc_platform@/libcudart.so BOINC_debug/libcudart.so
BOINC_debug/boincmgr.16x16.png: boincmgr.16x16.png
cp boincmgr.16x16.png BOINC_debug/boincmgr.16x16.png
@ -71,8 +65,8 @@ BOINC_debug/boincmgr.32x32.png: boincmgr.32x32.png
cp boincmgr.32x32.png BOINC_debug/boincmgr.32x32.png
BOINC_debug/boincmgr.48x48.png: boincmgr.48x48.png
cp boincmgr.48x48.png BOINC_debug/boincmgr.48x48.png
BOINC_debug/ca-bundle.crt: ../curl/ca-bundle.crt
cp ../curl/ca-bundle.crt BOINC_debug/ca-bundle.crt
BOINC_debug/ca-bundle.crt: $(top_builddir)/curl/ca-bundle.crt
cp $(top_builddir)/curl/ca-bundle.crt BOINC_debug/ca-bundle.crt
BOINC/binstall.sh: BOINC Makefile
echo 'cd BOINC &&\

View File

Before

Width:  |  Height:  |  Size: 815 B

After

Width:  |  Height:  |  Size: 815 B

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -42,6 +42,8 @@ clean:
distclean:
/bin/rm -f $(PROGS) *.o libstdc++.a
install: uc2
uc2: uc2.o libstdc++.a $(BOINC_API_DIR)/libboinc_api.a $(BOINC_LIB_DIR)/libboinc.a
$(CXX) $(CXXFLAGS) -o uc2 uc2.o libstdc++.a -pthread -lboinc_api -lboinc

View File

@ -3,6 +3,73 @@
include $(top_srcdir)/Makefile.incl
AM_CPPFLAGS += $(MYSQL_CFLAGS) $(PTHREAD_CFLAGS)
if ENABLE_LIBRARIES
libsched_sources = \
sched_shmem.cpp \
sched_util.cpp \
sched_config.cpp \
sched_msgs.cpp \
../db/boinc_db.cpp \
../db/db_base.cpp \
../tools/process_result_template.cpp \
../tools/backend_lib.cpp
lib_LTLIBRARIES = libsched.la
libsched_la_SOURCES = $(libsched_sources)
libsched_la_CFLAGS = $(AM_CPPFLAGS)
libsched_la_CXXFLAGS = $(AM_CPPFLAGS)
libsched_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
libsched_la_LIBADD=
## install only headers that are meant for exporting the API !!
if INSTALL_HEADERS
pkginclude_HEADERS = \
sched_config.h \
sched_msgs.h \
sched_util.h \
../tools/backend_lib.h \
validate_util.h
endif
# end of "if INSTALL_HEADERS
if ENABLE_FCGI
lib_LTLIBRARIES += libsched_fcgi.la
libsched_fcgi_la_SOURCES = $(libsched_sources)
libsched_fcgi_la_CFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
libsched_fcgi_la_CXXFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
libsched_fcgi_la_LDFLAGS= -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
libsched_fcgi_la_LIBADD=
endif
# end of "if ENABLE_FCGI"
if BUILD_STATIC_LIBS
all_local = libsched.a
if ENABLE_FCGI
all_local += libsched_fcgi.a
endif
endif
all-local: $(all_local)
libsched.a: libsched.la
rm -f libsched.a
ln .libs/libsched.a
libsched_fcgi.a: libsched_fcgi.la
rm -f libsched_fcgi.a
ln .libs/libsched_fcgi.a
endif
# end of "if ENABLE_LIBRARIES
if ENABLE_SERVER
noinst_PROGRAMS = \
census \
cgi \
@ -15,7 +82,7 @@ noinst_PROGRAMS = \
get_file \
make_work \
message_handler \
pymw_assimilator \
pymw_assimilator \
request_file_list \
sample_assimilator \
sample_dummy_assimilator \
@ -31,31 +98,11 @@ noinst_PROGRAMS = \
update_stats \
wu_check
lib_LIBRARIES = libsched.a
EXTRA_PROGRAMS = fcgi \
fcgi_file_upload_handler
# scripts that 'make install' should put in bindir
bin_SCRIPTS = start stop status
LDADD = $(LIBSCHED) $(LIBBOINC) $(MYSQL_LIBS) $(PTHREAD_LIBS) $(RSA_LIBS)
AM_CXXFLAGS = $(MYSQL_CFLAGS)
libsched_a_SOURCES = \
sched_shmem.cpp \
sched_util.cpp \
sched_config.cpp \
sched_msgs.cpp \
../db/boinc_db.cpp \
../db/db_base.cpp \
../lib/msg_log.cpp \
../tools/process_result_template.cpp \
../tools/backend_lib.cpp
EXTRA_DIST = \
assimilate_handler.h \
fcgiapp.h \
handle_request.h \
main.h \
sched_locality.h \
@ -64,8 +111,7 @@ EXTRA_DIST = \
server_types.h \
start
cgi_SOURCES = \
cgi_sources = \
edf_sim.cpp \
handle_request.cpp \
hr.cpp \
@ -81,21 +127,16 @@ cgi_SOURCES = \
sched_send.cpp \
sched_timezone.cpp \
server_types.cpp \
time_stats_log.cpp \
../lib/synch.cpp
time_stats_log.cpp
cgi_SOURCES = $(cgi_sources)
cgi_LDADD = $(SERVERLIBS)
census_SOURCES = \
census.cpp \
hr.cpp \
hr_info.cpp
## install only headers that are meant for exporting the API !!
pkginclude_HEADERS = \
sched_config.h \
sched_msgs.h \
sched_util.h \
../tools/backend_lib.h \
validate_util.h
census_LDADD = $(SERVERLIBS)
feeder_SOURCES = \
@ -103,112 +144,98 @@ feeder_SOURCES = \
hr.cpp \
hr_info.cpp \
../lib/synch.cpp
feeder_LDADD = $(SERVERLIBS)
wu_check_SOURCES = wu_check.cpp
wu_check_LDADD = $(SERVERLIBS)
show_shmem_SOURCES = show_shmem.cpp
show_shmem_LDADD = $(SERVERLIBS)
file_deleter_SOURCES = file_deleter.cpp
file_deleter_LDADD = $(SERVERLIBS)
sample_bitwise_validator_SOURCES = validator.cpp sample_bitwise_validator.cpp validate_util.cpp validate_util.h validate_util2.cpp
sample_bitwise_validator_LDADD = $(SERVERLIBS)
sample_trivial_validator_SOURCES = validator.cpp sample_trivial_validator.cpp validate_util.cpp validate_util.h validate_util2.cpp
sample_trivial_validator_LDADD = $(SERVERLIBS)
sample_dummy_assimilator_SOURCES = assimilator.cpp sample_dummy_assimilator.cpp validate_util.cpp validate_util.h
sample_dummy_assimilator_LDADD = $(SERVERLIBS)
sample_assimilator_SOURCES = assimilator.cpp sample_assimilator.cpp validate_util.cpp validate_util.h
sample_assimilator_LDADD = $(SERVERLIBS)
pymw_assimilator_SOURCES = assimilator.cpp pymw_assimilator.cpp validate_util.cpp validate_util.h
pymw_assimilator_DEPENDENCIES = $(LIB_SCHED)
pymw_assimilator_LDADD = $(SERVERLIBS)
single_job_assimilator_SOURCES = assimilator.cpp single_job_assimilator.cpp validate_util.cpp validate_util.h
single_job_assimilator_LDADD = $(SERVERLIBS)
sample_work_generator_SOURCES = sample_work_generator.cpp
sample_work_generator_LDADD = $(SERVERLIBS)
db_dump_SOURCES = db_dump.cpp
db_dump_LDADD = $(SERVERLIBS)
db_purge_SOURCES = db_purge.cpp
db_purge_LDADD = $(SERVERLIBS)
trickle_handler_SOURCES = trickle_handler.cpp
trickle_handler_LDADD = $(SERVERLIBS)
update_stats_SOURCES = update_stats.cpp
update_stats_LDADD = $(SERVERLIBS)
file_upload_handler_SOURCES = file_upload_handler.cpp
file_upload_handler_LDADD = $(SERVERLIBS)
make_work_SOURCES = make_work.cpp
make_work_LDADD = $(SERVERLIBS)
transitioner_SOURCES = transitioner.cpp
transitioner_LDADD = $(SERVERLIBS)
message_handler_SOURCES = message_handler.cpp
message_handler_LDADD = $(SERVERLIBS)
request_file_list_SOURCES = request_file_list.cpp
request_file_list_LDADD = $(SERVERLIBS)
get_file_SOURCES = get_file.cpp
get_file_LDADD = $(SERVERLIBS)
send_file_SOURCES = send_file.cpp
send_file_LDADD = $(SERVERLIBS)
delete_file_SOURCES = delete_file.cpp
delete_file_LDADD = $(SERVERLIBS)
sched_driver_SOURCES = sched_driver.cpp
sched_driver_LDADD = $(SERVERLIBS)
# N.B.: the FCGI scheduler can't use lib/libboinc.a;
# it needs to have specially compiled versions of everything
# because its stdio is different
fcgi_SOURCES = \
handle_request.cpp \
hr.cpp \
hr_info.cpp \
main.cpp \
sched_array.cpp \
sched_assign.cpp \
sched_config.cpp \
sched_hr.cpp \
sched_locality.cpp \
sched_msgs.cpp \
sched_resend.cpp \
sched_result.cpp \
sched_plan.cpp \
sched_send.cpp \
sched_shmem.cpp \
sched_timezone.cpp \
sched_util.cpp \
server_types.cpp \
time_stats_log.cpp \
edf_sim.cpp \
../db/boinc_db.cpp \
../db/db_base.cpp \
../lib/base64.cpp \
../lib/boinc_fcgi.cpp \
../lib/coproc.cpp \
../lib/crypt.cpp \
../lib/filesys.cpp \
../lib/md5.c \
../lib/md5_file.cpp \
../lib/miofile.cpp \
../lib/msg_log.cpp \
../lib/parse.cpp \
../lib/shmem.cpp \
../lib/synch.cpp \
../lib/str_util.cpp \
../lib/util.cpp \
../tools/process_result_template.cpp \
../tools/backend_lib.cpp
if ENABLE_FCGI
noinst_PROGRAMS += fcgi \
fcgi_file_upload_handler
fcgi_SOURCES = $(cgi_sources)
fcgi_CPPFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
fcgi_LDADD = $(SERVERLIBS_FCGI)
fcgi_CPPFLAGS = -D_USING_FCGI_ -include boinc_fcgi.h $(AM_CPPFLAGS)
fcgi_LDADD = -lfcgi $(MYSQL_LIBS)
fcgi_file_upload_handler_SOURCES = \
file_upload_handler.cpp \
sched_config.cpp \
sched_msgs.cpp \
../lib/boinc_fcgi.cpp \
../lib/miofile.cpp \
../lib/msg_log.cpp \
../lib/parse.cpp \
../lib/crypt.cpp
sched_msgs.cpp
fcgi_file_upload_handler_CPPFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
fcgi_file_upload_handler_LDADD = $(SERVERLIBS_FCGI)
fcgi_file_upload_handler_CPPFLAGS = -D_USING_FCGI_ -include boinc_fcgi.h $(AM_CPPFLAGS)
fcgi_file_upload_handler_LDADD = $(LDADD) -lfcgi
endif
# end of "if ENABLE_FCGI"
endif
# end of "if ENABLE_SERVER"
.PHONY: PHONY-start

View File

@ -15,22 +15,25 @@
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include "config.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#endif
#ifdef SIM
#include <stdarg.h>
#else
#ifndef SIM
#include "sched_config.h"
#include "sched_msgs.h"
#endif
#ifndef _USING_FCGI_
#include <cstdio>
#else
#include "boinc_fcgi.h"
#endif
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdarg>
#include "edf_sim.h"
using std::vector;

View File

@ -20,7 +20,11 @@
//
#include "config.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#else
#include <cstdio>
#endif
#include <cstdlib>
#include <cstring>
#include <ctime>
@ -40,9 +44,6 @@
#include "sched_config.h"
#include "sched_util.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#endif
#include "sched_msgs.h"
#define ERR_TRANSIENT true

View File

@ -18,8 +18,12 @@
// Handle a scheduling server RPC
#include "config.h"
#include <cassert>
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#else
#include <cstdio>
#endif
#include <cassert>
#include <cstdlib>
#include <vector>
#include <string>
@ -55,9 +59,6 @@ using namespace std;
#include "sched_result.h"
#include "time_stats_log.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#endif
// find the user's most recently-created host with given various characteristics
//

View File

@ -51,6 +51,7 @@ using namespace std;
#include "shmem.h"
#include "util.h"
#include "str_util.h"
#include "synch.h"
#include "sched_config.h"
#include "server_types.h"

View File

@ -14,6 +14,14 @@
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
//
#include "config.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#else
#include <cstdio>
#endif
#include <unistd.h>

View File

@ -57,7 +57,11 @@ void SCHED_MSG_LOG::close() {
}
}
#ifndef _USING_FCGI_
void SCHED_MSG_LOG::redirect(FILE* f) {
#else
void SCHED_MSG_LOG::redirect(FCGI_FILE* f) {
#endif
close();
output = f;
}

View File

@ -37,7 +37,7 @@ public:
void set_indent_level(const int new_indent_level);
#ifdef _USING_FCGI_
~SCHED_MSG_LOG();
void redirect(FILE* f);
void redirect(FCGI_FILE* f);
void close();
void flush();
#endif

View File

@ -34,6 +34,7 @@ using namespace std;
#include "parse.h"
#include "util.h"
#include "str_util.h"
#include "synch.h"
#include "server_types.h"
#include "sched_shmem.h"

View File

@ -31,13 +31,14 @@ using std::vector;
#include "boinc_db.h"
#include "error_numbers.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#endif
#include "sched_shmem.h"
#include "sched_util.h"
#include "sched_msgs.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#endif
void SCHED_SHMEM::init(int nwu_results) {
int size = sizeof(SCHED_SHMEM) + nwu_results*sizeof(WU_RESULT);

View File

@ -96,7 +96,11 @@ struct SCHED_SHMEM {
int scan_tables();
bool no_work(int pid);
void restore_work(int pid);
#ifndef _USING_FCGI_
void show(FILE*);
#else
void show(FCGI_FILE*);
#endif
APP* lookup_app(int);
APP_VERSION* lookup_app_version(int appid, int platform);

View File

@ -5,17 +5,16 @@ bin_PROGRAMS = create_work sign_executable dir_hier_path dir_hier_move
EXTRA_DIST = make_project xadd update_versions dbcheck_files_exist upgrade makelog.sh cleanlogs.sh vote_monitor calculate_credit_multiplier
LDADD = $(LIBSCHED) $(LIBBOINC) $(RSA_LIBS) $(MYSQL_LIBS)
AM_CXXFLAGS = $(MYSQL_CFLAGS)
AM_CXXFLAGS += $(MYSQL_CFLAGS)
create_work_SOURCES = \
create_work.cpp
create_work_SOURCES = create_work.cpp
create_work_LDADD = $(SERVERLIBS)
sign_executable_SOURCES = \
sign_executable.cpp
sign_executable_SOURCES = sign_executable.cpp
sign_executable_LDADD = $(SERVERLIBS)
dir_hier_path_SOURCES = \
dir_hier_path.cpp
dir_hier_path_SOURCES = dir_hier_path.cpp
dir_hier_path_LDADD = $(SERVERLIBS)
dir_hier_move_SOURCES = \
dir_hier_move.cpp
dir_hier_move_SOURCES = dir_hier_move.cpp
dir_hier_move_LDADD = $(SERVERLIBS)

View File

@ -16,6 +16,11 @@
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
#include "config.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#else
#include <cstdio>
#endif
#include <cstdlib>
#include <cstring>
#include <string>
@ -26,6 +31,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include "boinc_db.h"
#include "crypt.h"
#include "error_numbers.h"
@ -39,11 +45,6 @@
#include "backend_lib.h"
#ifdef _USING_FCGI_
#include "boinc_fcgi.h"
#else
#define FCGI_ToFILE(x) (x)
#endif
using std::string;

View File

@ -3,16 +3,18 @@
## note: -D flags taken from a zip config build under Linux
include ../Makefile.incl
SUBDIRS = zip unzip
AM_CPPFLAGS = -I$(top_srcdir)/zlib -I$(top_srcdir)/lib -I$(top_srcdir)/zip -I$(top_srcdir)/zip/zip -I$(top_srcdir)/zip/unzip -DUNIX -DDLL
##noinst_PROGRAMS = test
lib_LIBRARIES = libboinc_zip.a
AM_CPPFLAGS += -I$(top_srcdir)/zlib -I$(top_srcdir)/lib -I$(top_srcdir)/zip -I$(top_srcdir)/zip/zip -I$(top_srcdir)/zip/unzip -DUNIX -DDLL
if INSTALL_HEADERS
pkginclude_HEADERS = boinc_zip.h
endif
libboinc_zip_a_SOURCES = boinc_zip.cpp \
libboinc_zip_sources = \
boinc_zip.cpp \
./unzip/apihelp.c \
./unzip/crc32.c \
./unzip/crctab.c \
@ -42,6 +44,23 @@ libboinc_zip_a_SOURCES = boinc_zip.cpp \
./zip/unix/z_unix.c \
./unzip/unix/unix.c
##test_SOURCES = test.c
##test_LDADD = boinc_zip
##g++ -o test -DHAVE_DIRENT_H -I./ test.c ../lib/filesys.C ../lib/util.C -L./ -lboinc_zip
##noinst_PROGRAMS = test
if ENABLE_LIBRARIES
lib_LTLIBRARIES = libboinc_zip.la
libboinc_zip_la_SOURCES = $(libboinc_zip_sources)
libboinc_zip_la_LDFLAGS = -L$(libdir) -rpath $(libdir) -version-number $(LIBBOINC_VERSION)
libboinc_zip_la_LIBADD =
if BUILD_STATIC_LIBS
all_local = libboinc_zip.a
endif
all-local: $(all_local)
libboinc_zip.a: libboinc_zip.la
rm -f libboinc_zip.a
ln .libs/libboinc_zip.a
endif