latest osx publish stuff

This commit is contained in:
David Rose 2006-09-28 16:31:02 +00:00
parent 39a891e55d
commit 8de0914056
22 changed files with 154 additions and 384 deletions

View File

@ -18,7 +18,7 @@
express:c pstatclient:c prc:c pandabase:c linmath:c \
putil:c display:c event:c pgraph:c gsgbase:c gobj:c mathutil:c \
lerp:c downloader:c pnmimage:c chan:c \
pipeline:c cull:c
pipeline:c cull:c $[if $[HAVE_NET],net:c]
#begin metalib_target
#define TARGET direct

View File

@ -4,9 +4,9 @@
express:c pandaexpress:m \
interrogatedb:c dconfig:c dtoolconfig:m \
dtoolutil:c dtoolbase:c dtool:m \
pystub \
prc:c pstatclient:c pandabase:c linmath:c putil:c \
pipeline:c
pipeline:c $[if $[HAVE_NET],net:c] \
pystub
#define C++FLAGS -DWITHIN_PANDA

View File

@ -3,7 +3,7 @@
pstatclient:c pipeline:c panda:m \
interrogatedb:c dconfig:c dtoolconfig:m \
dtoolutil:c dtoolbase:c dtool:m prc:c pandabase:c \
linmath:c putil:c
linmath:c putil:c $[if $[HAVE_NET],net:c]
#define LOCAL_LIBS \
directbase

View File

@ -6,7 +6,7 @@
#define LOCAL_LIBS \
directbase
#define OTHER_LIBS \
net:c linmath:c putil:c express:c panda:m pandaexpress:m dtoolconfig dtool
$[if $[HAVE_NET],net:c] linmath:c putil:c express:c panda:m pandaexpress:m dtoolconfig dtool
#define WIN_SYS_LIBS $[WIN_SYS_LIBS] user32.lib //advapi32.lib
#begin lib_target

View File

@ -6,7 +6,7 @@
//#define LOCAL_LIBS \
// directbase
#define OTHER_LIBS \
net:c linmath:c putil:c express:c panda:m pandaexpress:m dtoolconfig dtool
$[if $[HAVE_NET],net:c] linmath:c putil:c express:c panda:m pandaexpress:m dtoolconfig dtool
#define WIN_SYS_LIBS $[WIN_SYS_LIBS] user32.lib //advapi32.lib
#begin bin_target

View File

@ -12,10 +12,7 @@
interrogatedb:c dconfig:c dtoolconfig:m \
dtoolutil:c dtoolbase:c dtool:m \
prc:c pstatclient:c pandabase:c linmath:c putil:c \
pipeline:c
#if $[and $[HAVE_NET],$[HAVE_NSPR]] \
#define OTHER_LIBS net:c $[OTHER_LIBS]
#endif
pipeline:c $[if $[HAVE_NET],net:c]
#define SOURCES \
config_distributed.cxx config_distributed.h \

View File

@ -149,6 +149,7 @@ DoGenPyCode.extensionsDir = os.path.join(directDir, 'src', '$[extensions_name]')
DoGenPyCode.etcPath = []
DoGenPyCode.pythonSourcePath = []
#if $[CTA_GENERIC_GENPYCODE]
# Look for additional packages (other than the basic three)
# that the user might be dynamically attached to.
packages = []
@ -204,6 +205,7 @@ for package in packages:
if isModule:
if basename not in DoGenPyCode.codeLibs:
DoGenPyCode.codeLibs.append(basename)
#endif // CTA_GENERIC_GENPYCODE
#endif // CTPROJS
DoGenPyCode.run()

View File

@ -9,7 +9,7 @@
interrogatedb:c dconfig:c dtoolconfig:m \
dtoolutil:c dtoolbase:c dtool:m \
pandabase:c prc:c gsgbase:c pstatclient:c \
pipeline:c
pipeline:c $[if $[HAVE_NET],net:c]
#define SOURCES \
config_interval.cxx config_interval.h \

View File

@ -9,7 +9,7 @@
dtoolutil:c dtoolbase:c dtool:m \
pgraph:c gsgbase:c gobj:c mathutil:c pstatclient:c \
lerp:c downloader:c pandabase:c pnmimage:c prc:c \
pipeline:c cull:c
pipeline:c cull:c $[if $[HAVE_NET],net:c]
#define SOURCES \
showBase.cxx showBase.h

View File

@ -1,5 +1,5 @@
//
// Config.osx.pp
// Config.OSX.pp
//
// This file defines some custom config variables for the osx
// platform. It makes some initial guesses about compiler features,
@ -19,67 +19,14 @@
// to a subsequent version of Panda.
// *******************************************************************
print $[PLATFORM]
#define PYTHON_IPATH /Library/Frameworks/Python.framework/Headers
#define HAVE_PYTHON 1
#define PYTHON_FRAMEWORK Python
// What additional flags should we pass to interrogate?
#define SYSTEM_IGATE_FLAGS -D__FLT_EVAL_METHOD__=0 -D__i386__ -D__const=const -Dvolatile -D__LITTLE_ENDIAN__ -D__inline__=inline -D__GNUC__
#define HAVE_GL 1
#define IS_OSX 1
//#define ZLIB_IPATH /usr/include
//#define ZLIB_LPATH /usr/lib/
//#define ZLIB_LIBS libz.dylib
#define HAVE_ZLIB 1
#define HAVE_JPEG 1
#define HAVE_FREETYPE 1
#print Before Configure Miles
//#define HAVE_RAD_MSS 1
//#define RAD_MSS_IPATH /Users/roger/Documents/M/include
//#define RAD_MSS_LPATH /Users/roger/Documents/M/redist/macho/
//#define RAD_MSS_LIBS MilesMachO
//#define rad_mss_ipath $[RAD_MSS_IPATH]
//#define rad_mss_lpath $[RAD_MSS_LPATH]
//#define rad_mss_libs $[RAD_MSS_LIBS]
//#print -- $[RAD_MSS_IPATH]
//#print --- $[RAD_MSS_LPATH]
//#print ----$[RAD_MSS_LIBS]
//#print ---$[rad_mss_ipath]
//#print ---$[rad_mss_lpath]
//#print ---$[rad_mss_libs]
#define PNG_IPATH /opt/local/include
#define PNG_LPATH /opt/local/lib
#define PNG_LIBS png
//#define HAVE_PNG 1
#define HAVE_OPENSSL 1
// Is libfftw installed, and where?
#define FFTW_IPATH /opt/local/include
#define FFTW_LPATH /opt/local/lib
#define FFTW_LIBS drfftw dfftw
//#define HAVE_FFTW 1
#define TIFF_IPATH /opt/local/include
#define TIFF_LPATH /opt/local/lib
// Is the platform big-endian (like an SGI workstation) or
// little-endian (like a PC)? Define this to the empty string to
// indicate little-endian, or nonempty to indicate big-endian.
// We don't need worry about defining WORDS_BIGENDIAN (and we
// shouldn't anyway, since ppc and intel are different). We rely on
// dtoolbase.h to determine this at compilation time.
#define WORDS_BIGENDIAN
// Does the C++ compiler support namespaces?
@ -167,7 +114,7 @@ print $[PLATFORM]
#define HAVE_IO_H
// Do we have <malloc.h>?
#define HAVE_MALLOC_H 1
#define HAVE_MALLOC_H
// Do we have <alloca.h>?
#define HAVE_ALLOCA_H 1

View File

@ -1,214 +0,0 @@
//
// Config.osx.pp
//
// This file defines some custom config variables for the osx
// platform. It makes some initial guesses about compiler features,
// etc.
//
// *******************************************************************
// NOTE: you should not attempt to copy this file verbatim as your own
// personal Config.pp file. Instead, you should start with an empty
// Config.pp file, and add lines to it when you wish to override
// settings given in here. In the normal ppremake system, this file
// will always be read first, and then your personal Config.pp file
// will be read later, which gives you a chance to override the
// default settings found in this file. However, if you start by
// copying the entire file, it will be difficult to tell which
// settings you have customized, and it will be difficult to upgrade
// to a subsequent version of Panda.
// *******************************************************************
//#define PYTHON_IPATH /Library/Frameworks/Python.framework/Headers
//#define PYTHON_LPATH /Library/Frameworks/Python.framework/Headers
#define PYTHON_IPATH /Library/Frameworks/Python.framework/Headers
#define HAVE_PYTHON 1
#define PYTHON_FRAMEWORK Python
// What additional flags should we pass to interrogate?
#define SYSTEM_IGATE_FLAGS -D__FLT_EVAL_METHOD__=0 -D__i386__ -D__const=const -Dvolatile -D__LITTLE_ENDIAN__ -D__inline__=inline -D__GNUC__
#define HAVE_GL 1
#define IS_OSX 1
//#define ZLIB_IPATH /usr/include
//#define ZLIB_LPATH /usr/lib/
//#define ZLIB_LIBS libz.dylib
//#define HAVE_ZLIB 1
//#define HAVE_JPEG 1
//#define HAVE_FREETYPE 1
#print Before Configure Miles
#define HAVE_RAD_MSS 1
#define RAD_MSS_IPATH /Users/roger/m/include
#define RAD_MSS_LPATH /Users/roger/m/redist/macx86
#define RAD_MSS_LIBS MilesMachOx86
#define rad_mss_ipath $[RAD_MSS_IPATH]
#define rad_mss_lpath $[RAD_MSS_LPATH]
#define rad_mss_libs $[RAD_MSS_LIBS]
//#print -- $[RAD_MSS_IPATH]
//#print --- $[RAD_MSS_LPATH]
//#print ----$[RAD_MSS_LIBS]
//#print ---$[rad_mss_ipath]
//#print ---$[rad_mss_lpath]
//#print ---$[rad_mss_libs]
#define PNG_IPATH /opt/local/include
#define PNG_LPATH /opt/local/lib
#define PNG_LIBS png
//#define HAVE_PNG 1
#define HAVE_OPENSSL 1
// Is libfftw installed, and where?
#define FFTW_IPATH /opt/local/include
#define FFTW_LPATH /opt/local/lib
#define FFTW_LIBS rfftw fftw
//#define HAVE_FFTW 1
#define TIFF_IPATH /opt/local/include
#define TIFF_LPATH /opt/local/lib
// Is the platform big-endian (like an SGI workstation) or
// little-endian (like a PC)? Define this to the empty string to
// indicate little-endian, or nonempty to indicate big-endian.
#define WORDS_BIGENDIAN
// Does the C++ compiler support namespaces?
#define HAVE_NAMESPACE 1
// Does the C++ compiler support ios::binary?
#define HAVE_IOS_BINARY 1
// How about the typename keyword?
#define HAVE_TYPENAME 1
// Will the compiler avoid inserting extra bytes in structs between a
// base struct and its derived structs? It is safe to define this
// false if you don't know, but if you know that you can get away with
// this you may gain a tiny performance gain by defining this true.
// If you define this true incorrectly, you will get lots of
// assertion failures on execution.
#define SIMPLE_STRUCT_POINTERS
// Do we have a gettimeofday() function?
#define HAVE_GETTIMEOFDAY 1
// Does gettimeofday() take only one parameter?
#define GETTIMEOFDAY_ONE_PARAM
// Do we have getopt() and/or getopt_long_only() built into the
// system?
#define HAVE_GETOPT 1
#define HAVE_GETOPT_LONG_ONLY
// Are the above getopt() functions defined in getopt.h, or somewhere else?
#define HAVE_GETOPT_H 1
// Can we determine the terminal width by making an ioctl(TIOCGWINSZ) call?
#define IOCTL_TERMINAL_WIDTH 1
// Do the system headers define a "streamsize" typedef? How about the
// ios::binary enumerated value? And other ios typedef symbols like
// ios::openmode and ios::fmtflags?
#define HAVE_STREAMSIZE 1
#define HAVE_IOS_BINARY 1
#define HAVE_IOS_TYPEDEFS 1
// Can we safely call getenv() at static init time?
#define STATIC_INIT_GETENV 1
// Can we read the file /proc/self/environ to determine our
// environment variables at static init time?
#define HAVE_PROC_SELF_ENVIRON 1
// Do we have a global pair of argc/argv variables that we can read at
// static init time? Should we prototype them? What are they called?
#define HAVE_GLOBAL_ARGV
#define PROTOTYPE_GLOBAL_ARGV
#define GLOBAL_ARGV __Argv
#define GLOBAL_ARGC __Argc
// Can we read the file /proc/self/cmdline to determine our
// command-line arguments at static init time?
#define HAVE_PROC_SELF_CMDLINE
// Should we include <iostream> or <iostream.h>? Define HAVE_IOSTREAM
// to nonempty if we should use <iostream>, or empty if we should use
// <iostream.h>.
#define HAVE_IOSTREAM 1
// Do we have a true stringstream class defined in <sstream>?
#define HAVE_SSTREAM 1
// Does fstream::open() require a third parameter, specifying the
// umask? Versions of gcc prior to 3.2 had this.
#define HAVE_OPEN_MASK
// Do the compiler or system libraries define wchar_t for you?
#define HAVE_WCHAR_T 1
// Does <string> define the typedef wstring? Most do, but for some
// reason, versions of gcc before 3.0 didn't do this.
#define HAVE_WSTRING 1
// Do we have <new>?
#define HAVE_NEW 1
// Do we have <io.h>?
#define HAVE_IO_H
// Do we have <malloc.h>?
#define HAVE_MALLOC_H
// Do we have <alloca.h>?
#define HAVE_ALLOCA_H 1
// Do we have <locale.h>?
#define HAVE_LOCALE_H 1
// Do we have <minmax.h>?
#define HAVE_MINMAX_H
// Do we have <sys/types.h>?
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_TIME_H 1
// Do we have <unistd.h>?
#define HAVE_UNISTD_H 1
// Do we have <utime.h>?
#define HAVE_UTIME_H 1
// Do we have <dirent.h>?
#define HAVE_DIRENT_H 1
// Do we have <glob.h> (and do we want to use it instead of dirent.h)?
#define HAVE_GLOB_H 1
// Do we have <sys/soundcard.h> (and presumably a Linux-style audio
// interface)?
#define HAVE_SYS_SOUNDCARD_H 1
// Do we have RTTI (and <typeinfo>)?
#define HAVE_RTTI 1
// Must global operator new and delete functions throw exceptions?
#define GLOBAL_OPERATOR_NEW_EXCEPTIONS 1
// Modern versions of gcc do support the latest STL allocator
// definitions.
#define USE_STL_ALLOCATOR 1
// The dynamic library file extension (usually .so .dll or .dylib):
#define DYNAMIC_LIB_EXT .dylib
#define BUNDLE_EXT .so

View File

@ -876,12 +876,8 @@
#define CXX CC
#endif
#if $[and $[OSX_PLATFORM],$[UNIVERSAL_BINARIES]]
// Configure for universal binaries on OSX.
#define ARCH_FLAGS -arch i386 -arch ppc
#else
#define ARCH_FLAGS
#endif
// Configure for universal binaries on OSX.
#defer ARCH_FLAGS $[if $[and $[OSX_PLATFORM],$[UNIVERSAL_BINARIES]],-arch i386 -arch ppc,]
// How to compile a C or C++ file into a .o file. $[target] is the
// name of the .o file, $[source] is the name of the source file,

View File

@ -63,7 +63,7 @@
#define WINDOWS_PLATFORM $[or $[eq $[PLATFORM],Win32],$[eq $[PLATFORM],Cygwin]]
// True if we are building on some flavor of OS X.
#define OSX_PLATFORM $[or $[eq $[PLATFORM],Darwin],$[eq $[PLATFORM],osxppc],$[eq $[PLATFORM],osxintel]]
#define OSX_PLATFORM $[eq $[PLATFORM],OSX]
// True if we are building on some flavor of Unix.
#define UNIX_PLATFORM $[and $[not $[WINDOWS_PLATFORM]],$[not $[OSX_PLATFORM]]]

View File

@ -102,6 +102,7 @@
#define nspr_lpath $[wildcard $[NSPR_LPATH]]
#define nspr_cflags $[NSPR_CFLAGS]
#define nspr_libs $[NSPR_LIBS]
#define nspr_framework $[NSPR_FRAMEWORK]
#endif
#if $[HAVE_OPENSSL]
@ -278,6 +279,7 @@
#define freetype_lpath $[wildcard $[FREETYPE_LPATH]]
#define freetype_cflags $[FREETYPE_CFLAGS]
#define freetype_libs $[FREETYPE_LIBS]
#define freetype_framework $[FREETYPE_FRAMEWORK]
#endif
#if $[and $[HAVE_MAYA],$[MAYA_LOCATION]]

View File

@ -64,7 +64,7 @@ ConfigVariableBool fmod_use_surround_sound
// Config variables for Miles:
ConfigVariableBool audio_software_midi
("audio-software-midi", false);
("audio-software-midi", true);
ConfigVariableFilename audio_dls_file
("audio-dls-file", "");

View File

@ -78,21 +78,15 @@ MilesAudioManager() {
S32 use_MIDI=(audio_play_midi)?1:0;
if (audio_play_midi && audio_software_midi) {
use_MIDI=AIL_QUICK_DLS_ONLY;
}
#ifdef IS_OSX
use_MIDI=AIL_QUICK_DLS_ONLY;
audio_software_midi=true;
#endif
audio_debug(" use_digital="<<use_digital);
audio_debug(" use_MIDI="<<use_MIDI);
audio_debug(" audio_output_rate="<<audio_output_rate);
audio_debug(" audio_output_bits="<<audio_output_bits);
audio_debug(" audio_output_channels="<<audio_output_channels);
audio_debug(" audio_software_midi="<<audio_software_midi);
#ifndef NDEBUG //[
#if !defined(NDEBUG) && defined(AIL_MSS_version) //[
char version[8];
AIL_MSS_version(version, 8);
audio_debug(" Mss32.dll Version: "<<version);
@ -136,7 +130,7 @@ audio_software_midi=true;
audio_info(" using Miles hardware midi");
}
} else {
audio_debug(" AIL_quick_startup failed: "<<AIL_last_error());
audio_error("Unable to init MilesAudioManager. AIL_quick_startup failed: "<<AIL_last_error());
_is_valid = false;
}
}

View File

@ -47,20 +47,21 @@ ConfigVariableInt downloader_timeout
ConfigVariableInt downloader_timeout_retries
("downloader-timeout-retries", 5);
ConfigVariableInt decompressor_buffer_size
("decompressor-buffer-size", 4096);
ConfigVariableDouble decompressor_step_time
("decompressor-step-time", 0.1,
PRC_DESC("Specifies the maximum amount of time that should be consumed by "
"a single call to Decompressor::run()."));
ConfigVariableDouble decompressor_frequency
("decompressor-frequency", 0.2);
ConfigVariableInt extractor_buffer_size
("extractor-buffer-size", 4096);
ConfigVariableDouble extractor_frequency
("extractor-frequency", 0.2);
ConfigVariableDouble extractor_step_time
("extractor-step-time", 0.1,
PRC_DESC("Specifies the maximum amount of time that should be consumed by "
"a single call to Extractor::step()."));
ConfigVariableInt patcher_buffer_size
("patcher-buffer-size", 4096);
("patcher-buffer-size", 16384,
PRC_DESC("Limits the size of the buffer used in a single call to "
"Patcher::run(). Increasing this may help the Patcher "
"perform more work before returning."));
ConfigVariableBool verify_ssl
("verify-ssl", true,

View File

@ -38,12 +38,8 @@ extern ConfigVariableDouble downloader_frequency;
extern ConfigVariableInt downloader_timeout;
extern ConfigVariableInt downloader_timeout_retries;
extern ConfigVariableInt decompressor_buffer_size;
extern ConfigVariableDouble decompressor_frequency;
extern ConfigVariableInt extractor_buffer_size;
extern ConfigVariableDouble extractor_frequency;
extern ConfigVariableDouble decompressor_step_time;
extern ConfigVariableDouble extractor_step_time;
extern ConfigVariableInt patcher_buffer_size;
extern ConfigVariableBool verify_ssl;

View File

@ -27,6 +27,7 @@
#include "ramfile.h"
#include "zStream.h"
#include "config_express.h"
#include "trueClock.h"
#include "decompressor.h"
@ -159,19 +160,27 @@ run() {
// Hmm, we were already done.
return EU_success;
}
// Read a bunch of characters from the decompress stream, but no
// more than decompressor_buffer_size.
int count = 0;
int ch = _decompress->get();
while (!_decompress->eof() && !_decompress->fail()) {
_dest->put(ch);
if (++count >= decompressor_buffer_size) {
TrueClock *clock = TrueClock::get_global_ptr();
double now = clock->get_short_time();
double finish = now + decompressor_step_time;
static const size_t buffer_size = 1024;
char buffer[buffer_size];
_decompress->read(buffer, buffer_size);
size_t count = _decompress->gcount();
while (count != 0) {
_dest->write(buffer, count);
now = clock->get_short_time();
if (now >= finish) {
// That's enough for now.
return EU_ok;
}
ch = _decompress->get();
_decompress->read(buffer, buffer_size);
count = _decompress->gcount();
}
// All done!

View File

@ -155,69 +155,112 @@ step() {
_initiated = true;
}
if (_read == (istream *)NULL) {
// Time to open the next subfile.
if (_request_index >= (int)_requests.size()) {
// All done!
reset();
return EU_success;
}
TrueClock *clock = TrueClock::get_global_ptr();
double now = clock->get_short_time();
double finish = now + extractor_step_time;
_subfile_index = _requests[_request_index];
_subfile_filename = Filename(_extract_dir,
_multifile->get_subfile_name(_subfile_index));
_subfile_filename.set_binary();
_subfile_filename.make_dir();
if (!_subfile_filename.open_write(_write, true)) {
downloader_cat.error()
<< "Unable to write to " << _subfile_filename << ".\n";
reset();
return EU_error_abort;
}
_subfile_length = _multifile->get_subfile_length(_subfile_index);
_subfile_pos = 0;
_read = _multifile->open_read_subfile(_subfile_index);
do {
if (_read == (istream *)NULL) {
downloader_cat.error()
<< "Unable to read subfile "
<< _multifile->get_subfile_name(_subfile_index) << ".\n";
reset();
return EU_error_abort;
}
// Time to open the next subfile.
if (_request_index >= (int)_requests.size()) {
// All done!
if (downloader_cat.is_debug()) {
downloader_cat.debug()
<< "Finished extracting.\n";
}
reset();
return EU_success;
}
_subfile_index = _requests[_request_index];
_subfile_filename = Filename(_extract_dir,
_multifile->get_subfile_name(_subfile_index));
} else if (_subfile_pos >= _subfile_length) {
// Time to close this subfile.
delete _read;
_read = (istream *)NULL;
_write.close();
_request_index++;
if (downloader_cat.is_debug()) {
downloader_cat.debug()
<< "Extracting " << _subfile_filename << ".\n";
}
} else {
// Read a number of bytes from the subfile and write them to the
// output.
size_t max_bytes = min((size_t)extractor_buffer_size,
_subfile_length - _subfile_pos);
for (size_t p = 0; p < max_bytes; p++) {
int byte = _read->get();
if (_read->eof() || _read->fail()) {
_subfile_filename.set_binary();
_subfile_filename.make_dir();
if (!_subfile_filename.open_write(_write, true)) {
downloader_cat.error()
<< "Unable to write to " << _subfile_filename << ".\n";
reset();
return EU_error_abort;
}
_subfile_length = _multifile->get_subfile_length(_subfile_index);
_subfile_pos = 0;
_read = _multifile->open_read_subfile(_subfile_index);
if (_read == (istream *)NULL) {
downloader_cat.error()
<< "Unable to read subfile "
<< _multifile->get_subfile_name(_subfile_index) << ".\n";
reset();
return EU_error_abort;
}
} else if (_subfile_pos >= _subfile_length) {
// Time to close this subfile.
if (downloader_cat.is_debug()) {
downloader_cat.debug()
<< "Finished current subfile.\n";
}
delete _read;
_read = (istream *)NULL;
_write.close();
_request_index++;
} else {
// Read a number of bytes from the subfile and write them to the
// output.
static const size_t buffer_size = 1024;
char buffer[buffer_size];
size_t max_bytes = min(buffer_size, _subfile_length - _subfile_pos);
_read->read(buffer, max_bytes);
size_t count = _read->gcount();
while (count != 0) {
if (downloader_cat.is_spam()) {
downloader_cat.spam()
<< " . . . read " << count << " bytes.\n";
}
_write.write(buffer, count);
if (!_write) {
downloader_cat.error()
<< "Error writing to " << _subfile_filename << ".\n";
reset();
return EU_error_abort;
}
_subfile_pos += count;
_total_bytes_extracted += count;
now = clock->get_short_time();
if (now >= finish) {
// That's enough for now.
return EU_ok;
}
max_bytes = min(buffer_size, _subfile_length - _subfile_pos);
_read->read(buffer, max_bytes);
count = _read->gcount();
}
if (max_bytes != 0) {
downloader_cat.error()
<< "Unexpected EOF on multifile " << _multifile_name << ".\n";
reset();
return EU_error_abort;
}
_write.put(byte);
}
if (!_write) {
downloader_cat.error()
<< "Error writing to " << _subfile_filename << ".\n";
reset();
return EU_error_abort;
}
_subfile_pos += max_bytes;
_total_bytes_extracted += max_bytes;
}
now = clock->get_short_time();
} while (now < finish);
// That's enough for now.
return EU_ok;
}

View File

@ -27,7 +27,6 @@
#ifdef HAVE_FFTW
#ifdef IS_OSX
// hack.....
// this is a hack to help interigate sort out a macro
// in the system poll and select definitions
@ -35,10 +34,7 @@
#ifdef howmany
#undef howmany
#endif
#include <drfftw.h>
#else
#include <rfftw.h>
#endif
// These FFTW support objects can only be defined if we actually have
// the FFTW library available.

View File

@ -1,5 +1,6 @@
#define OTHER_LIBS interrogatedb:c dconfig:c dtoolconfig:m \
dtoolutil:c dtoolbase:c dtool:m
#define OTHER_LIBS \
interrogatedb:c dconfig:c dtoolconfig:m \
dtoolutil:c dtoolbase:c prc:c dtool:m
#define BUILD_DIRECTORY $[and $[HAVE_NET],$[HAVE_NSPR]]
#define USE_PACKAGES net nspr