Detect the host system and architecture at configure time, makes conditional compiling easier. Start the platform defines cleanup, there's still much left. Autodetect the number of cores for every platform (BSD is untested), the port mantainers should drop their own implementations.
This commit is contained in:
parent
981dac038f
commit
4de7a417a9
245
desmume/compile
245
desmume/compile
|
@ -1,9 +1,9 @@
|
|||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand `-c -o'.
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2005-05-14.22
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
|
@ -17,8 +17,7 @@ scriptversion=2005-05-14.22
|
|||
# GNU General Public License for more details.
|
||||
#
|
||||
# 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.
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
|
@ -29,21 +28,224 @@ scriptversion=2005-05-14.22
|
|||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
nl='
|
||||
'
|
||||
|
||||
# We need space, tab and new line, in precisely that order. Quoting is
|
||||
# there to prevent tools from complaining about whitespace usage.
|
||||
IFS=" "" $nl"
|
||||
|
||||
file_conv=
|
||||
|
||||
# func_file_conv build_file lazy
|
||||
# Convert a $build file to $host form and store it in $file
|
||||
# Currently only supports Windows hosts. If the determined conversion
|
||||
# type is listed in (the comma separated) LAZY, no conversion will
|
||||
# take place.
|
||||
func_file_conv ()
|
||||
{
|
||||
file=$1
|
||||
case $file in
|
||||
/ | /[!/]*) # absolute file, and not a UNC file
|
||||
if test -z "$file_conv"; then
|
||||
# lazily determine how to convert abs files
|
||||
case `uname -s` in
|
||||
MINGW*)
|
||||
file_conv=mingw
|
||||
;;
|
||||
CYGWIN*)
|
||||
file_conv=cygwin
|
||||
;;
|
||||
*)
|
||||
file_conv=wine
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $file_conv/,$2, in
|
||||
*,$file_conv,*)
|
||||
;;
|
||||
mingw/*)
|
||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||
;;
|
||||
cygwin/*)
|
||||
file=`cygpath -m "$file" || echo "$file"`
|
||||
;;
|
||||
wine/*)
|
||||
file=`winepath -w "$file" || echo "$file"`
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# func_cl_dashL linkdir
|
||||
# Make cl look for libraries in LINKDIR
|
||||
func_cl_dashL ()
|
||||
{
|
||||
func_file_conv "$1"
|
||||
if test -z "$lib_path"; then
|
||||
lib_path=$file
|
||||
else
|
||||
lib_path="$lib_path;$file"
|
||||
fi
|
||||
linker_opts="$linker_opts -LIBPATH:$file"
|
||||
}
|
||||
|
||||
# func_cl_dashl library
|
||||
# Do a library search-path lookup for cl
|
||||
func_cl_dashl ()
|
||||
{
|
||||
lib=$1
|
||||
found=no
|
||||
save_IFS=$IFS
|
||||
IFS=';'
|
||||
for dir in $lib_path $LIB
|
||||
do
|
||||
IFS=$save_IFS
|
||||
if $shared && test -f "$dir/$lib.dll.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.dll.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/$lib.lib"; then
|
||||
found=yes
|
||||
lib=$dir/$lib.lib
|
||||
break
|
||||
fi
|
||||
if test -f "$dir/lib$lib.a"; then
|
||||
found=yes
|
||||
lib=$dir/lib$lib.a
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS=$save_IFS
|
||||
|
||||
if test "$found" != yes; then
|
||||
lib=$lib.lib
|
||||
fi
|
||||
}
|
||||
|
||||
# func_cl_wrapper cl arg...
|
||||
# Adjust compile command to suit cl
|
||||
func_cl_wrapper ()
|
||||
{
|
||||
# Assume a capable shell
|
||||
lib_path=
|
||||
shared=:
|
||||
linker_opts=
|
||||
for arg
|
||||
do
|
||||
if test -n "$eat"; then
|
||||
eat=
|
||||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.[oO][bB][jJ])
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fo"$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
func_file_conv "$2"
|
||||
set x "$@" -Fe"$file"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-I)
|
||||
eat=1
|
||||
func_file_conv "$2" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-I*)
|
||||
func_file_conv "${1#-I}" mingw
|
||||
set x "$@" -I"$file"
|
||||
shift
|
||||
;;
|
||||
-l)
|
||||
eat=1
|
||||
func_cl_dashl "$2"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-l*)
|
||||
func_cl_dashl "${1#-l}"
|
||||
set x "$@" "$lib"
|
||||
shift
|
||||
;;
|
||||
-L)
|
||||
eat=1
|
||||
func_cl_dashL "$2"
|
||||
;;
|
||||
-L*)
|
||||
func_cl_dashL "${1#-L}"
|
||||
;;
|
||||
-static)
|
||||
shared=false
|
||||
;;
|
||||
-Wl,*)
|
||||
arg=${1#-Wl,}
|
||||
save_ifs="$IFS"; IFS=','
|
||||
for flag in $arg; do
|
||||
IFS="$save_ifs"
|
||||
linker_opts="$linker_opts $flag"
|
||||
done
|
||||
IFS="$save_ifs"
|
||||
;;
|
||||
-Xlinker)
|
||||
eat=1
|
||||
linker_opts="$linker_opts $2"
|
||||
;;
|
||||
-*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
|
||||
func_file_conv "$1"
|
||||
set x "$@" -Tp"$file"
|
||||
shift
|
||||
;;
|
||||
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
|
||||
func_file_conv "$1" mingw
|
||||
set x "$@" "$file"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set x "$@" "$1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
shift
|
||||
done
|
||||
if test -n "$linker_opts"; then
|
||||
linker_opts="-link$linker_opts"
|
||||
fi
|
||||
exec "$@" $linker_opts
|
||||
exit 1
|
||||
}
|
||||
|
||||
eat=
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||
echo "$0: No command. Try '$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: compile [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Wrapper for compilers which do not understand `-c -o'.
|
||||
Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
Wrapper for compilers which do not understand '-c -o'.
|
||||
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
|
||||
arguments, and rename the output as expected.
|
||||
|
||||
If you are trying to build a whole package this is not the
|
||||
right script to run: please start by reading the file `INSTALL'.
|
||||
right script to run: please start by reading the file 'INSTALL'.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
|
@ -53,11 +255,13 @@ EOF
|
|||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
|
||||
ofile=
|
||||
cfile=
|
||||
eat=
|
||||
|
||||
for arg
|
||||
do
|
||||
|
@ -66,8 +270,8 @@ do
|
|||
else
|
||||
case $1 in
|
||||
-o)
|
||||
# configure might choose to run compile as `compile cc -o foo foo.c'.
|
||||
# So we strip `-o arg' only if arg is an object.
|
||||
# configure might choose to run compile as 'compile cc -o foo foo.c'.
|
||||
# So we strip '-o arg' only if arg is an object.
|
||||
eat=1
|
||||
case $2 in
|
||||
*.o | *.obj)
|
||||
|
@ -94,22 +298,22 @@ do
|
|||
done
|
||||
|
||||
if test -z "$ofile" || test -z "$cfile"; then
|
||||
# If no `-o' option was seen then we might have been invoked from a
|
||||
# If no '-o' option was seen then we might have been invoked from a
|
||||
# pattern rule where we don't need one. That is ok -- this is a
|
||||
# normal compilation that the losing compiler can handle. If no
|
||||
# `.c' file was seen then we are probably linking. That is also
|
||||
# '.c' file was seen then we are probably linking. That is also
|
||||
# ok.
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
# Name of file we expect compiler to create.
|
||||
cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
|
||||
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
|
||||
|
||||
# Create the lock directory.
|
||||
# Note: use `[/.-]' here to ensure that we don't use the same name
|
||||
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
|
||||
# that we are using for the .o file. Also, base the name on the expected
|
||||
# object file name, since that is what matters with a parallel build.
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
|
||||
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
|
||||
while true; do
|
||||
if mkdir "$lockdir" >/dev/null 2>&1; then
|
||||
break
|
||||
|
@ -124,9 +328,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
|
|||
ret=$?
|
||||
|
||||
if test -f "$cofile"; then
|
||||
mv "$cofile" "$ofile"
|
||||
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
|
||||
elif test -f "${cofile}bj"; then
|
||||
mv "${cofile}bj" "$ofile"
|
||||
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
|
||||
fi
|
||||
|
||||
rmdir "$lockdir"
|
||||
|
@ -138,5 +342,6 @@ exit $ret
|
|||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
|
|
@ -260,12 +260,27 @@ case $host in
|
|||
AC_DEFINE(HAVE_OPENAL)
|
||||
LIBS="$LIBS -framework OpenGL -framework OpenAL"
|
||||
CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/OpenAL.framework/Headers"
|
||||
AC_SUBST(CPPFLAGS)
|
||||
dnl - extra hackery needed for X includes
|
||||
AC_PATH_XTRA
|
||||
;;
|
||||
esac
|
||||
|
||||
# Detect the host platform and architecture and feed them to the compiler as
|
||||
# defines
|
||||
AS_CASE([$host],
|
||||
[*linux*], [AC_DEFINE(HOST_LINUX)],
|
||||
[*bsd*] , [AC_DEFINE(HOST_BSD)],
|
||||
[*mingw*], [AC_DEFINE(HOST_WINDOWS)],
|
||||
[*darwin*],[AC_DEFINE(HOST_DARWIN)],
|
||||
[AC_DEFINE(HOST_UNK)]
|
||||
)
|
||||
|
||||
AS_CASE([$host_cpu],
|
||||
[x86_64], [AC_DEFINE(HOST_64)],
|
||||
[amd64], [AC_DEFINE(HOST_64)],
|
||||
[AC_DEFINE(HOST_32)]
|
||||
)
|
||||
|
||||
AC_SUBST(UI_DIR)
|
||||
AC_SUBST(PO_DIR)
|
||||
|
||||
|
|
|
@ -1317,7 +1317,7 @@ struct TSequenceItem_divider : public TSequenceItem
|
|||
{
|
||||
IF_DEVELOPER(DEBUG_statistics.sequencerExecutionCounters[2]++);
|
||||
MMU_new.div.busy = 0;
|
||||
#ifdef _WIN64
|
||||
#ifdef HOST_64
|
||||
T1WriteQuad(MMU.MMU_MEM[ARMCPU_ARM9][0x40], 0x2A0, MMU.divResult);
|
||||
T1WriteQuad(MMU.MMU_MEM[ARMCPU_ARM9][0x40], 0x2A8, MMU.divMod);
|
||||
#else
|
||||
|
|
|
@ -30,10 +30,11 @@
|
|||
#include "emufile.h"
|
||||
#include "firmware.h"
|
||||
#include "types.h"
|
||||
#include "utils/task.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
#if defined(_WINDOWS)
|
||||
#if defined(HOST_WINDOWS)
|
||||
#include "pathsettings.h"
|
||||
#endif
|
||||
|
||||
|
@ -507,7 +508,6 @@ extern struct TCommonSettings {
|
|||
, DebugConsole(false)
|
||||
, EnsataEmulation(false)
|
||||
, cheatsDisable(false)
|
||||
, num_cores(1)
|
||||
, rigorous_timing(false)
|
||||
, advanced_timing(true)
|
||||
, micMode(InternalNoise)
|
||||
|
@ -542,6 +542,8 @@ extern struct TCommonSettings {
|
|||
#else
|
||||
use_jit = false;
|
||||
#endif
|
||||
|
||||
num_cores = getOnlineCores();
|
||||
}
|
||||
bool GFX3D_HighResolutionInterpolateColor;
|
||||
bool GFX3D_EdgeMark;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
#include "types.h"
|
||||
#ifdef HAVE_JIT
|
||||
#if !defined(__x86_64__) && !defined(__LP64) && !defined(__IA64__) && !defined(_M_X64) && !defined(_WIN64) && !defined(_M_IX86) && !defined(__INTEL__) && !defined(__i386__)
|
||||
#if !defined(HOST_32) && !defined(HOST_64)
|
||||
#error "ERROR: JIT compiler - unsupported target platform"
|
||||
#endif
|
||||
#ifdef _WINDOWS
|
||||
|
|
|
@ -31,7 +31,7 @@ void arm_jit_close();
|
|||
void arm_jit_sync();
|
||||
template<int PROCNUM> u32 arm_jit_compile();
|
||||
|
||||
#if defined(_WINDOWS) || defined(DESMUME_COCOA)
|
||||
#if defined(HOST_WINDOWS) || defined(HOST_DARWIN)
|
||||
#define MAPPED_JIT_FUNCS
|
||||
#endif
|
||||
#ifdef MAPPED_JIT_FUNCS
|
||||
|
|
|
@ -62,7 +62,7 @@ CommandLine::CommandLine()
|
|||
, start_paused(FALSE)
|
||||
, autodetect_method(-1)
|
||||
{
|
||||
#ifndef _MSC_VER
|
||||
#ifndef HOST_WINDOWS
|
||||
disable_sound = 0;
|
||||
disable_limiter = 0;
|
||||
#endif
|
||||
|
@ -108,7 +108,7 @@ void CommandLine::loadCommonOptions()
|
|||
{ "cpu-mode", 0, 0, G_OPTION_ARG_INT, &_cpu_mode, "ARM CPU emulation mode: 0 - interpreter, 1 - dynarec (default 1)", NULL},
|
||||
{ "jit-size", 0, 0, G_OPTION_ARG_INT, &_jit_size, "ARM JIT block size: 1..100 (1 - accuracy, 100 - faster) (default 100)", NULL},
|
||||
#endif
|
||||
#ifndef _MSC_VER
|
||||
#ifndef HOST_WINDOWS
|
||||
{ "disable-sound", 0, 0, G_OPTION_ARG_NONE, &disable_sound, "Disables the sound emulation", NULL},
|
||||
{ "disable-limiter", 0, 0, G_OPTION_ARG_NONE, &disable_limiter, "Disables the 60fps limiter", NULL},
|
||||
{ "nojoy", 0, 0, G_OPTION_ARG_INT, &_commandline_linux_nojoy, "Disables joystick support", "NOJOY"},
|
||||
|
|
|
@ -50,7 +50,7 @@ public:
|
|||
std::string slot1;
|
||||
std::string console_type;
|
||||
std::string slot1_fat_dir;
|
||||
#ifndef _MSC_VER
|
||||
#ifndef HOST_WINDOWS
|
||||
int disable_sound;
|
||||
int disable_limiter;
|
||||
#endif
|
||||
|
|
|
@ -92,7 +92,7 @@ public:
|
|||
};
|
||||
extern BaseDriver* driver;
|
||||
|
||||
#ifndef _WINDOWS
|
||||
#ifndef HOST_WINDOWS
|
||||
class UnixDriver : public BaseDriver
|
||||
{
|
||||
#ifdef EXPERIMENTAL_WIFI_COMM
|
||||
|
|
|
@ -64,7 +64,7 @@ size_t EMUFILE_MEMORY::_fread(const void *ptr, size_t bytes){
|
|||
void EMUFILE_FILE::truncate(s32 length)
|
||||
{
|
||||
::fflush(fp);
|
||||
#ifdef _MSC_VER
|
||||
#ifdef HOST_WINDOWS
|
||||
_chsize(_fileno(fp),length);
|
||||
#else
|
||||
ftruncate(fileno(fp),length);
|
||||
|
|
|
@ -37,7 +37,7 @@ THE SOFTWARE.
|
|||
|
||||
#include "emufile_types.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#ifdef HOST_WINDOWS
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <unistd.h>
|
||||
|
|
|
@ -770,7 +770,7 @@ static void* RunVideoFilterTask(void *arg)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#ifdef HOST_WINDOWS
|
||||
void ThreadLockInit(ThreadLock *theLock)
|
||||
{
|
||||
InitializeCriticalSection(theLock);
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#ifndef _VIDEOFILTER_
|
||||
#define _VIDEOFILTER_
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#ifdef HOST_WINDOWS
|
||||
typedef unsigned __int32 uint32_t;
|
||||
#include <windows.h>
|
||||
typedef CRITICAL_SECTION ThreadLock;
|
||||
|
|
|
@ -29,7 +29,7 @@ static const char InvalidPathChars[] = {
|
|||
'\x13', '\x14', '\x15', '\x16', '\x17', '\x18', '\x19', '\x1A', '\x1B', '\x1C', '\x1D',
|
||||
'\x1E', '\x1F'
|
||||
//but I added this
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
,'\x2F'
|
||||
#endif
|
||||
};
|
||||
|
@ -145,7 +145,7 @@ std::string Path::GetFileExt(std::string fileName)
|
|||
}
|
||||
|
||||
//-----------------------------------
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
void FCEUD_MakePathDirs(const char *fname)
|
||||
{
|
||||
char path[MAX_PATH];
|
||||
|
|
|
@ -17,25 +17,25 @@
|
|||
|
||||
#include <string>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#ifdef HOST_WINDOWS
|
||||
#define mkdir _mkdir
|
||||
#endif
|
||||
|
||||
#if defined(_WINDOWS)
|
||||
#if defined(HOST_WINDOWS)
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
#include <direct.h>
|
||||
#include "winutil.h"
|
||||
#include "common.h"
|
||||
#include "resource.h"
|
||||
#elif !defined(DESMUME_COCOA)
|
||||
#elif !defined(HOST_DARWIN)
|
||||
#include <glib.h>
|
||||
#endif /* _WINDOWS */
|
||||
#endif /* HOST_WINDOWS */
|
||||
|
||||
#include "time.h"
|
||||
#include "utils/xstring.h"
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
#define FILE_EXT_DELIMITER_CHAR '.'
|
||||
#define DIRECTORY_DELIMITER_CHAR '\\'
|
||||
#define ALL_DIRECTORY_DELIMITER_STRING "/\\"
|
||||
|
@ -45,7 +45,7 @@
|
|||
#define ALL_DIRECTORY_DELIMITER_STRING "/"
|
||||
#endif
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
void FCEUD_MakePathDirs(const char *fname);
|
||||
#endif
|
||||
|
||||
|
@ -126,7 +126,7 @@ public:
|
|||
std::vector<std::string> parts = tokenize_str(filename,"|");
|
||||
SetRomName(parts[parts.size()-1].c_str());
|
||||
LoadModulePath();
|
||||
#if !defined(WIN32) && !defined(DESMUME_COCOA)
|
||||
#if !defined(WIN32) && !defined(HOST_DARWIN)
|
||||
ReadPathSettings();
|
||||
#endif
|
||||
|
||||
|
@ -134,7 +134,7 @@ public:
|
|||
|
||||
void LoadModulePath()
|
||||
{
|
||||
#if defined(_WINDOWS)
|
||||
#if defined(HOST_WINDOWS)
|
||||
|
||||
char *p;
|
||||
ZeroMemory(pathToModule, sizeof(pathToModule));
|
||||
|
@ -149,7 +149,7 @@ public:
|
|||
{
|
||||
strcpy(pathToModule,_hack_alternateModulePath);
|
||||
}
|
||||
#elif defined(DESMUME_COCOA)
|
||||
#elif defined(HOST_DARWIN)
|
||||
std::string pathStr = Path::GetFileDirectoryPath(path);
|
||||
|
||||
strncpy(pathToModule, pathStr.c_str(), MAX_PATH);
|
||||
|
@ -169,7 +169,7 @@ public:
|
|||
|
||||
void GetDefaultPath(char *pathToDefault, const char *key, int maxCount)
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
std::string temp = (std::string)"." + DIRECTORY_DELIMITER_CHAR + pathToDefault;
|
||||
strncpy(pathToDefault, temp.c_str(), maxCount);
|
||||
#else
|
||||
|
@ -179,7 +179,7 @@ public:
|
|||
|
||||
void ReadKey(char *pathToRead, const char *key)
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
GetPrivateProfileString(SECTION, key, key, pathToRead, MAX_PATH, IniName);
|
||||
if(strcmp(pathToRead, key) == 0) {
|
||||
//since the variables are all intialized in this file they all use MAX_PATH
|
||||
|
@ -206,7 +206,7 @@ public:
|
|||
ReadKey(pathToFirmware, FIRMWAREKEY);
|
||||
ReadKey(pathToLua, LUAKEY);
|
||||
ReadKey(pathToSlot1D, SLOT1DKEY);
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
GetPrivateProfileString(SECTION, FORMATKEY, "%f_%s_%r", screenshotFormat, MAX_FORMAT, IniName);
|
||||
savelastromvisit = GetPrivateProfileBool(SECTION, LASTVISITKEY, true, IniName);
|
||||
currentimageformat = (ImageFormat)GetPrivateProfileInt(SECTION, DEFAULTFORMATKEY, PNG, IniName);
|
||||
|
@ -282,7 +282,7 @@ public:
|
|||
}
|
||||
|
||||
strncpy(buffer, thePath.c_str(), MAX_PATH);
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
FCEUD_MakePathDirs(buffer);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -1099,9 +1099,11 @@ static char SoftRastInit(void)
|
|||
_HACK_viewer_rasterizerUnit.SLI_VALUE = 0;
|
||||
|
||||
rasterizerCores = CommonSettings.num_cores;
|
||||
|
||||
if (rasterizerCores > _MAX_CORES)
|
||||
rasterizerCores = _MAX_CORES;
|
||||
if(CommonSettings.num_cores <= 1)
|
||||
|
||||
if(CommonSettings.num_cores == 1)
|
||||
{
|
||||
rasterizerCores = 1;
|
||||
rasterizerUnit[0].SLI_MASK = 0;
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
#include "path.h"
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
#include "windows/main.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
//analyze microsoft compilers
|
||||
#ifdef _MSC_VER
|
||||
#define _WINDOWS
|
||||
#define HOST_WINDOWS
|
||||
//todo - everyone will want to support this eventually, i suppose
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
@ -37,7 +37,7 @@
|
|||
#define IF_DEVELOPER(X)
|
||||
#endif
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
#define HAVE_LIBAGG
|
||||
#define ENABLE_SSE
|
||||
#define ENABLE_SSE2
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
#ifdef _MSC_VER
|
||||
#ifdef HOST_WINDOWS
|
||||
#include <direct.h>
|
||||
#include <windows.h>
|
||||
#define __mkdir(x) mkdir(x)
|
||||
|
@ -32,7 +32,7 @@
|
|||
|
||||
using namespace std;
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
#define FS_DIRECTORY_DELIMITER_CHAR "\\"
|
||||
#else
|
||||
#define FS_DIRECTORY_DELIMITER_CHAR "/"
|
||||
|
|
|
@ -19,13 +19,38 @@
|
|||
#include "task.h"
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
#include <windows.h>
|
||||
#else
|
||||
#include <pthread.h>
|
||||
#if defined HOST_LINUX || defined HOST_DARWIN
|
||||
#include <unistd.h>
|
||||
#elif defined HOST_BSD
|
||||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
#endif // HOST_WINDOWS
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// http://stackoverflow.com/questions/150355/programmatically-find-the-number-of-cores-on-a-machine
|
||||
int getOnlineCores (void)
|
||||
{
|
||||
#ifdef HOST_WINDOWS
|
||||
SYSTEM_INFO sysinfo;
|
||||
GetSystemInfo(&sysinfo);
|
||||
return sysinfo.dwNumberOfProcessors;
|
||||
#elif defined HOST_LINUX || defined HOST_DARWIN
|
||||
return sysconf(_SC_NPROCESSORS_ONLN);
|
||||
#elif defined HOST_BSD
|
||||
int cores;
|
||||
const int mib[4] = { CTL_HW, HW_NCPU, 0, 0 };
|
||||
const size_t len = sizeof(cores);
|
||||
sysctl(mib, 2, &cores, &len, NULL, 0);
|
||||
return (cores < 1) ? 1 : cores;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HOST_WINDOWS
|
||||
class Task::Impl {
|
||||
public:
|
||||
Impl();
|
||||
|
|
|
@ -45,5 +45,6 @@ public:
|
|||
|
||||
};
|
||||
|
||||
int getOnlineCores (void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#endif
|
||||
|
||||
//todo - everyone will want to support this eventually, i suppose
|
||||
#if defined(_WINDOWS) || defined(DESMUME_COCOA)
|
||||
#if defined(HOST_WINDOWS) || defined(HOST_DARWIN)
|
||||
#include "svnrev.h"
|
||||
#else
|
||||
#ifdef SVN_REV
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "bits.h"
|
||||
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#ifdef HOST_WINDOWS
|
||||
#include <winsock2.h>
|
||||
#include <ws2tcpip.h>
|
||||
#define socket_t SOCKET
|
||||
|
|
Loading…
Reference in New Issue