From e9a638d00468bc1b7f4435bb3d9a7ae8067c1f63 Mon Sep 17 00:00:00 2001 From: Josh Coalson Date: Sat, 3 Sep 2005 03:54:16 +0000 Subject: [PATCH] add support for building on os/2 with emx --- doc/html/changelog.html | 2 +- include/FLAC/ordinals.h | 9 ++++++++- src/flac/main.c | 25 +++++++++++++++++-------- src/libFLAC/metadata_iterators.c | 4 ++-- src/libFLAC/metadata_object.c | 2 +- src/metaflac/main.c | 5 +++++ src/share/grabbag/cuesheet.c | 2 +- src/share/grabbag/file.c | 6 +++++- src/test_libFLAC++/metadata_manip.cpp | 4 ++-- src/test_libFLAC/metadata_manip.c | 4 ++-- src/test_seeking/main.c | 2 +- src/test_streams/main.c | 2 +- 12 files changed, 46 insertions(+), 21 deletions(-) diff --git a/doc/html/changelog.html b/doc/html/changelog.html index b1cb92b..5713237 100644 --- a/doc/html/changelog.html +++ b/doc/html/changelog.html @@ -110,7 +110,7 @@
  • build system:
  • diff --git a/include/FLAC/ordinals.h b/include/FLAC/ordinals.h index 10bc25d..d423f4c 100644 --- a/include/FLAC/ordinals.h +++ b/include/FLAC/ordinals.h @@ -32,7 +32,7 @@ #ifndef FLAC__ORDINALS_H #define FLAC__ORDINALS_H -#ifndef _MSC_VER +#if !(defined(_MSC_VER) || defined(__EMX__)) #include #endif @@ -46,6 +46,13 @@ typedef __int64 FLAC__int64; typedef unsigned __int16 FLAC__uint16; typedef unsigned __int32 FLAC__uint32; typedef unsigned __int64 FLAC__uint64; +#elif defined(__EMX__) +typedef short FLAC__int16; +typedef long FLAC__int32; +typedef long long FLAC__int64; +typedef unsigned short FLAC__uint16; +typedef unsigned long FLAC__uint32; +typedef unsigned long long FLAC__uint64; #else typedef int16_t FLAC__int16; typedef int32_t FLAC__int32; diff --git a/src/flac/main.c b/src/flac/main.c index 1c80747..a1e4338 100644 --- a/src/flac/main.c +++ b/src/flac/main.c @@ -31,8 +31,6 @@ #if !defined _MSC_VER && !defined __MINGW32__ /* unlink is in stdio.h in VC++ */ #include /* for unlink() */ -#else -#define strcasecmp stricmp #endif #include "FLAC/all.h" #include "share/grabbag.h" @@ -43,6 +41,12 @@ #include "utils.h" #include "vorbiscomment.h" +#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__ +#define FLAC__STRCASECMP stricmp +#else +#define FLAC__STRCASECMP strcasecmp +#endif + #if 0 /*[JEC] was:#if HAVE_GETOPT_LONG*/ /*[JEC] see flac/include/share/getopt.h as to why the change */ @@ -274,6 +278,11 @@ int main(int argc, char *argv[]) { int retval = 0; +#ifdef __EMX__ + _response(&argc, &argv); + _wildcard(&argc, &argv); +#endif + setlocale(LC_ALL, ""); if(!init_options()) { flac__utils_printf(stderr, 1, "ERROR: allocating memory\n"); @@ -1513,11 +1522,11 @@ int encode_file(const char *infilename, FLAC__bool is_first_file, FLAC__bool is_ if(!option_values.force_raw_format) { /* first set format based on name */ - if(strlen(infilename) >= 4 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".wav")) + if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".wav")) fmt= WAV; - else if(strlen(infilename) >= 4 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".aif")) + else if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".aif")) fmt= AIF; - else if(strlen(infilename) >= 5 && 0 == strcasecmp(infilename+(strlen(infilename)-5), ".aiff")) + else if(strlen(infilename) >= 5 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-5), ".aiff")) fmt= AIF; /* attempt to guess the file type based on the first 12 bytes */ @@ -1686,7 +1695,7 @@ int decode_file(const char *infilename) if(option_values.use_ogg) treat_as_ogg = true; - else if(strlen(infilename) >= 4 && 0 == strcasecmp(infilename+(strlen(infilename)-4), ".ogg")) + else if(strlen(infilename) >= 4 && 0 == FLAC__STRCASECMP(infilename+(strlen(infilename)-4), ".ogg")) treat_as_ogg = true; else treat_as_ogg = false; @@ -1730,8 +1739,8 @@ int decode_file(const char *infilename) if( option_values.force_aiff_format || - (strlen(outfilename) >= 4 && 0 == strcasecmp(outfilename+(strlen(outfilename)-4), ".aif")) || - (strlen(outfilename) >= 5 && 0 == strcasecmp(outfilename+(strlen(outfilename)-5), ".aiff")) + (strlen(outfilename) >= 4 && 0 == FLAC__STRCASECMP(outfilename+(strlen(outfilename)-4), ".aif")) || + (strlen(outfilename) >= 5 && 0 == FLAC__STRCASECMP(outfilename+(strlen(outfilename)-5), ".aiff")) ) retval = flac__decode_aiff(infilename, option_values.test_only? 0 : outfilename, option_values.analyze, option_values.aopts, options); else diff --git a/src/libFLAC/metadata_iterators.c b/src/libFLAC/metadata_iterators.c index 2d50dd2..0f99b77 100644 --- a/src/libFLAC/metadata_iterators.c +++ b/src/libFLAC/metadata_iterators.c @@ -2856,7 +2856,7 @@ FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tem (void)fclose(*tempfile); *tempfile = 0; -#if defined _MSC_VER || defined __MINGW32__ +#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__ if(unlink(filename) < 0) { cleanup_tempfile_(tempfile, tempfilename); *status = FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR; @@ -2908,7 +2908,7 @@ void set_file_stats_(const char *filename, struct stat *stats) srctime.modtime = stats->st_mtime; (void)chmod(filename, stats->st_mode); (void)utime(filename, &srctime); -#if !defined _MSC_VER && !defined __MINGW32__ +#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__ (void)chown(filename, stats->st_uid, -1); (void)chown(filename, -1, stats->st_gid); #endif diff --git a/src/libFLAC/metadata_object.c b/src/libFLAC/metadata_object.c index cbfc29c..333889a 100644 --- a/src/libFLAC/metadata_object.c +++ b/src/libFLAC/metadata_object.c @@ -1178,7 +1178,7 @@ FLAC_API FLAC__bool FLAC__metadata_object_vorbiscomment_entry_matches(const FLAC FLAC__ASSERT(0 != entry.entry && entry.length > 0); { const FLAC__byte *eq = (FLAC__byte*)memchr(entry.entry, '=', entry.length); -#if defined _MSC_VER || defined __MINGW32__ +#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__ #define FLAC__STRNCASECMP strnicmp #else #define FLAC__STRNCASECMP strncasecmp diff --git a/src/metaflac/main.c b/src/metaflac/main.c index da99985..2b6d321 100644 --- a/src/metaflac/main.c +++ b/src/metaflac/main.c @@ -29,6 +29,11 @@ int main(int argc, char *argv[]) CommandLineOptions options; int ret = 0; +#ifdef __EMX__ + _response(&argc, &argv); + _wildcard(&argc, &argv); +#endif + setlocale(LC_ALL, ""); init_options(&options); diff --git a/src/share/grabbag/cuesheet.c b/src/share/grabbag/cuesheet.c index e8b53ca..67eae93 100644 --- a/src/share/grabbag/cuesheet.c +++ b/src/share/grabbag/cuesheet.c @@ -196,7 +196,7 @@ static char *local__get_field_(char **s, FLAC__bool allow_quotes) static FLAC__bool local__cuesheet_parse_(FILE *file, const char **error_message, unsigned *last_line_read, FLAC__StreamMetadata *cuesheet, FLAC__bool is_cdda, FLAC__uint64 lead_out_offset) { -#if defined _MSC_VER || defined __MINGW32__ +#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__ #define FLAC__STRCASECMP stricmp #else #define FLAC__STRCASECMP strcasecmp diff --git a/src/share/grabbag/file.c b/src/share/grabbag/file.c index 5f362da..a798fac 100644 --- a/src/share/grabbag/file.c +++ b/src/share/grabbag/file.c @@ -24,7 +24,7 @@ #include /* some flavors of BSD (like OS X) require this to get time_t */ #include /* for utime() */ #endif -#ifdef __CYGWIN__ +#if defined __CYGWIN__ || defined __EMX__ #include /* for setmode(), O_BINARY */ #include /* for _O_BINARY */ #endif @@ -120,6 +120,8 @@ FILE *grabbag__file_get_binary_stdin() #elif defined __CYGWIN__ /* almost certainly not needed for any modern Cygwin, but let's be safe... */ setmode(_fileno(stdin), _O_BINARY); +#elif defined __EMX__ + setmode(fileno(stdin), O_BINARY); #endif return stdin; @@ -136,6 +138,8 @@ FILE *grabbag__file_get_binary_stdout() #elif defined __CYGWIN__ /* almost certainly not needed for any modern Cygwin, but let's be safe... */ setmode(_fileno(stdout), _O_BINARY); +#elif defined __EMX__ + setmode(fileno(stdout), O_BINARY); #endif return stdout; diff --git a/src/test_libFLAC++/metadata_manip.cpp b/src/test_libFLAC++/metadata_manip.cpp index ec6ee35..801a258 100644 --- a/src/test_libFLAC++/metadata_manip.cpp +++ b/src/test_libFLAC++/metadata_manip.cpp @@ -221,7 +221,7 @@ bool transport_tempfile_(const char *filename, FILE **tempfile, char **tempfilen *tempfile = 0; } -#if defined _MSC_VER || defined __MINGW32__ +#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__ if(unlink(filename) < 0) { cleanup_tempfile_(tempfile, tempfilename); return false; @@ -256,7 +256,7 @@ void set_file_stats_(const char *filename, struct stat *stats) srctime.modtime = stats->st_mtime; (void)chmod(filename, stats->st_mode); (void)utime(filename, &srctime); -#if !defined _MSC_VER && !defined __MINGW32__ +#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__ (void)chown(filename, stats->st_uid, (gid_t)(-1)); (void)chown(filename, (uid_t)(-1), stats->st_gid); #endif diff --git a/src/test_libFLAC/metadata_manip.c b/src/test_libFLAC/metadata_manip.c index eedd0c3..4909844 100644 --- a/src/test_libFLAC/metadata_manip.c +++ b/src/test_libFLAC/metadata_manip.c @@ -204,7 +204,7 @@ FLAC__bool transport_tempfile_(const char *filename, FILE **tempfile, char **tem *tempfile = 0; } -#if defined _MSC_VER || defined __MINGW32__ +#if defined _MSC_VER || defined __MINGW32__ || defined __EMX__ if(unlink(filename) < 0) { cleanup_tempfile_(tempfile, tempfilename); return false; @@ -239,7 +239,7 @@ void set_file_stats_(const char *filename, struct stat *stats) srctime.modtime = stats->st_mtime; (void)chmod(filename, stats->st_mode); (void)utime(filename, &srctime); -#if !defined _MSC_VER && !defined __MINGW32__ +#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__ (void)chown(filename, stats->st_uid, -1); (void)chown(filename, -1, stats->st_gid); #endif diff --git a/src/test_seeking/main.c b/src/test_seeking/main.c index 7882734..fdf4589 100644 --- a/src/test_seeking/main.c +++ b/src/test_seeking/main.c @@ -228,7 +228,7 @@ static FLAC__bool seek_barrage_native_flac(const char *filename, off_t filesize, return die_f_("FLAC__file_decoder_process_until_end_of_metadata() FAILED", decoder); printf("file's total_samples is %llu\n", decoder_client_data.total_samples); -#if !defined _MSC_VER && !defined __MINGW32__ +#if !defined _MSC_VER && !defined __MINGW32__ && !defined __EMX__ if (decoder_client_data.total_samples > (FLAC__uint64)RAND_MAX) { printf("ERROR: must be total_samples < %u\n", (unsigned)RAND_MAX); return false; diff --git a/src/test_streams/main.c b/src/test_streams/main.c index 54363f7..92eab72 100644 --- a/src/test_streams/main.c +++ b/src/test_streams/main.c @@ -32,7 +32,7 @@ #define M_PI 3.14159265358979323846 #endif -#ifdef _WIN32 +#if defined _WIN32 || defined __EMX__ static const char *mode = "wb"; #else static const char *mode = "w"; -- 2.7.4