Compare commits

...
Author SHA1 Message Date
Nicholas Hastings 7b0bbbd463 Removing -dev tags from version. 2012-04-13 20:37:24 -04:00
Nicholas Hastings b1a904c7a5 Updated changelog for version 1.4.2. 2012-04-13 20:35:57 -04:00
David Anderson 7a124f2aa2 Fix bug in lower-casing API guarantee (r=fyren). 2012-04-13 16:50:44 -07:00
FlaminSarge b002adc509 Fixed potential player lag issue when "drugged" (bug 5217, r=asherkin). 2012-04-14 00:15:50 +01:00
FlaminSarge 2e34f2e67c Fixed sm_drug not toggling correctly (bug 5218, r=psychonic). 2012-04-14 00:12:56 +01:00
Ryan Stecker 315a5c642e Fixed return value of VoteMenuToAll (bug 5254, r=asherkin). 2012-04-14 00:07:39 +01:00
Drifter 3697bc3866 Fixed crash with StoreToAddress if memory wasn't writable (bug 5252, r=asherkin). 2012-04-14 00:00:25 +01:00
Scott Ehlert a63ea2a68d Fixed build scripts for OS X 10.7 build slave. 2012-03-21 21:35:07 -05:00
Scott Ehlert e299092ff5 Removed hardcoded SDK path for curl on OS X. 2012-03-21 22:04:05 -05:00
Reuben Morais f0b69facb3 Removed hardcoded SDK path on OS X (bug 5032, r=ds). 2012-03-21 21:27:26 -05:00
Reuben Morais ab8563f0d4 Followup, re-added check for invalid HL2SDK paths (bug 5023, r=ds). 2012-03-21 21:25:34 -05:00
Michael Busby 1d666b09e2 Fixed StoreToAddress always writing 32 bits and throwing an error (bug 5248, r=asherkin). 2012-03-11 18:07:24 -05:00
Nicholas Hastings 8fcd0478a1 Added better cross-engine support for finding Valve commandline (bug 5216, r=asherkin). 2012-03-04 15:19:58 -05:00
Nicholas Hastings 3c50ed1cf2 Added new TFHoliday_Christmas to TFHoliday enum (bug 5194, r=asherkin). 2011-12-16 09:43:05 -05:00
Nicholas Hastings 3a28a09f15 Added new TF2 weapon defines (r=me). 2011-12-16 00:24:03 -05:00
Nicholas Hastings 8e8f284cc3 Updated linux CS:S ClanTagOffset gamedata. 2011-12-08 14:52:20 -05:00
Nicholas Hastings fa4e61b877 Bump to 1.4.2-dev. 2011-12-07 22:47:31 -05:00
Nicholas Hastings a39d94ffe9 Added tag sourcemod-1.4.1 for changeset f74e1dea2ef2 2011-12-07 21:12:31 -05:00
19 changed files with 155 additions and 25 deletions
+1
View File
@@ -4,3 +4,4 @@ e877885fac80be71822641f7a9122cebc9812521 sourcemod-1.1.1
b3ffa8a4511c4eadaf533fc790aa6b14f7f0c6ea sourcemod-1.1.2 b3ffa8a4511c4eadaf533fc790aa6b14f7f0c6ea sourcemod-1.1.2
3a73bbf60f34befa9b66be03fa5974b394bb3411 sourcemod-1.2.0 3a73bbf60f34befa9b66be03fa5974b394bb3411 sourcemod-1.2.0
ddd707c3454c382db5db9d28148cd19227f44759 sourcemod-1.4.0 ddd707c3454c382db5db9d28148cd19227f44759 sourcemod-1.4.0
f74e1dea2ef2c5a12b5238badc0e877106804191 sourcemod-1.4.1
+6 -4
View File
@@ -79,8 +79,9 @@ class SM:
oldhead = head oldhead = head
head, tail = os.path.split(head) head, tail = os.path.split(head)
if i.startswith('HL2SDK'): if i.startswith('HL2SDK'):
(info, sdk) = findDictByKey(self.possibleSdks, 'sdk', i) if head != None and head != oldhead:
self.sdkInfo[sdk] = info (info, sdk) = findDictByKey(self.possibleSdks, 'sdk', i)
self.sdkInfo[sdk] = info
elif head == None or head == oldhead: elif head == None or head == oldhead:
raise Exception('Could not find a valid path for {0}'.format(i)) raise Exception('Could not find a valid path for {0}'.format(i))
AMBuild.cache.CacheVariable(i, path) AMBuild.cache.CacheVariable(i, path)
@@ -119,6 +120,9 @@ class SM:
self.compiler.AddToListVar('CXXFLAGS', '-fno-threadsafe-statics') self.compiler.AddToListVar('CXXFLAGS', '-fno-threadsafe-statics')
self.compiler.AddToListVar('CXXFLAGS', '-Wno-non-virtual-dtor') self.compiler.AddToListVar('CXXFLAGS', '-Wno-non-virtual-dtor')
self.compiler.AddToListVar('CXXFLAGS', '-Wno-overloaded-virtual') self.compiler.AddToListVar('CXXFLAGS', '-Wno-overloaded-virtual')
if (self.vendor == 'gcc' and cxx.majorVersion >= 4 and cxx.minorVersion >= 3) or \
(self.vendor == 'clang' and cxx.majorVersion >= 3):
self.compiler.AddToListVar('CXXFLAGS', '-Wno-delete-non-virtual-dtor')
self.compiler.AddToListVar('CDEFINES', 'HAVE_STDINT_H') self.compiler.AddToListVar('CDEFINES', 'HAVE_STDINT_H')
self.compiler.AddToListVar('CDEFINES', 'GNUC') self.compiler.AddToListVar('CDEFINES', 'GNUC')
if self.vendor == 'gcc': if self.vendor == 'gcc':
@@ -183,8 +187,6 @@ class SM:
if self.vendor == 'clang': if self.vendor == 'clang':
self.compiler.AddToListVar('POSTLINKFLAGS', '-lgcc_eh') self.compiler.AddToListVar('POSTLINKFLAGS', '-lgcc_eh')
elif AMBuild.target['platform'] == 'darwin': elif AMBuild.target['platform'] == 'darwin':
self.compiler.AddToListVar('CFLAGS', ['-isysroot',
'/Developer/SDKs/MacOSX10.5.sdk'])
self.compiler.AddToListVar('POSTLINKFLAGS', '-mmacosx-version-min=10.5') self.compiler.AddToListVar('POSTLINKFLAGS', '-mmacosx-version-min=10.5')
self.compiler.AddToListVar('POSTLINKFLAGS', ['-arch', 'i386']) self.compiler.AddToListVar('POSTLINKFLAGS', ['-arch', 'i386'])
self.compiler.AddToListVar('POSTLINKFLAGS', '-lstdc++') self.compiler.AddToListVar('POSTLINKFLAGS', '-lstdc++')
+18
View File
@@ -2,6 +2,24 @@ SourceMod Changelog
----------------------------- -----------------------------
SourceMod 1.4.2 [2011-04-13]
URL: http://wiki.alliedmods.net/SourceMod_1.4.2_Release_Notes
User Changes:
- Updated support for latest OrangeBox engine changes (CS:S, DoD:S, TF2, HL2DM, GMod).
- Fixed regression in SourceMod 1.4.0 causing SM to cause load errors on The Ship (bug 5216).
- Fixed toggling and player lag issues with sm_drug command (bugs 5217, 5218) (FlaminSarge).
Developer Changes:
- Updated TF2-specific defines and enums (bug 5194).
- Fixed StoreToAddress always writing 32 bits and throwing an error (bug 5248) (ProdigySim).
- Fixed crash with StoreToAddress if memory wasn't writable (bug 5252) (Dr!fter).
- Fixed return value of VoteMenuToAll (bug 5254) (VoiDeD).
- Fixed bug in command lower-casing API guarantee
-----------------------------
SourceMod 1.4.1 [2011-12-07] SourceMod 1.4.1 [2011-12-07]
URL: http://wiki.alliedmods.net/SourceMod_1.4.1_Release_Notes URL: http://wiki.alliedmods.net/SourceMod_1.4.1_Release_Notes
+5
View File
@@ -664,6 +664,11 @@ cell_t ConsoleDetours::InternalDispatch(int client, const CCommand& args)
char name[255]; char name[255];
const char *realname = args.Arg(0); const char *realname = args.Arg(0);
size_t len = strlen(realname); size_t len = strlen(realname);
// Disallow command strings that are too long, for now.
if (len >= sizeof(name) - 1)
return Pl_Continue;
for (size_t i = 0; i < len; i++) for (size_t i = 0; i < len; i++)
{ {
if (realname[i] >= 'A' && realname[i] <= 'Z') if (realname[i] >= 'A' && realname[i] <= 'Z')
+84
View File
@@ -38,8 +38,28 @@
#include <IGameConfigs.h> #include <IGameConfigs.h>
#include <compat_wrappers.h> #include <compat_wrappers.h>
#include <Logger.h> #include <Logger.h>
#include "LibrarySys.h"
#include "logic_bridge.h" #include "logic_bridge.h"
typedef ICommandLine *(*FakeGetCommandLine)();
#if defined _WIN32
#define TIER0_NAME "tier0.dll"
#define VSTDLIB_NAME "vstdlib.dll"
#elif defined __APPLE__
#define TIER0_NAME "libtier0.dylib"
#define VSTDLIB_NAME "libvstdlib.dylib"
#elif defined __linux__
#if SOURCE_ENGINE == SE_EPISODEONE || SOURCE_ENGINE == ORANGEBOX || SOURCE_ENGINE == SE_LEFT4DEAD
#define TIER0_NAME "tier0_i486.so"
#define VSTDLIB_NAME "vstdlib_i486.so"
#else
#define TIER0_NAME "libtier0.so"
#define VSTDLIB_NAME "libvstdlib.so"
#endif
#endif
CHalfLife2 g_HL2; CHalfLife2 g_HL2;
ConVar *sv_lan = NULL; ConVar *sv_lan = NULL;
@@ -131,6 +151,12 @@ void CHalfLife2::OnSourceModAllInitialized()
} }
void CHalfLife2::OnSourceModAllInitialized_Post() void CHalfLife2::OnSourceModAllInitialized_Post()
{
InitLogicalEntData();
InitCommandLine();
}
void CHalfLife2::InitLogicalEntData()
{ {
char *addr = NULL; char *addr = NULL;
@@ -196,6 +222,64 @@ void CHalfLife2::OnSourceModAllInitialized_Post()
} }
} }
void CHalfLife2::InitCommandLine()
{
char path[PLATFORM_MAX_PATH];
char error[256];
g_SourceMod.BuildPath(Path_Game, path, sizeof(path), "../bin/" TIER0_NAME);
if (!g_LibSys.IsPathFile(path))
{
g_Logger.LogError("Could not find path for: " TIER0_NAME);
return;
}
ILibrary *lib = g_LibSys.OpenLibrary(path, error, sizeof(error));
m_pGetCommandLine = lib->GetSymbolAddress("CommandLine_Tier0");
/* '_Tier0' dropped on Alien Swarm version */
if (m_pGetCommandLine == NULL)
{
m_pGetCommandLine = lib->GetSymbolAddress("CommandLine");
}
if (m_pGetCommandLine == NULL)
{
/* We probably have a Ship engine. */
lib->CloseLibrary();
g_SourceMod.BuildPath(Path_Game, path, sizeof(path), "../bin/" VSTDLIB_NAME);
if (!g_LibSys.IsPathFile(path))
{
g_Logger.LogError("Could not find path for: " VSTDLIB_NAME);
return;
}
if ((lib = g_LibSys.OpenLibrary(path, error, sizeof(error))) == NULL)
{
g_Logger.LogError("Could not load %s: %s", path, error);
return;
}
m_pGetCommandLine = lib->GetSymbolAddress("CommandLine");
if (m_pGetCommandLine == NULL)
{
g_Logger.LogError("Could not locate any command line functionality");
}
lib->CloseLibrary();
}
}
ICommandLine *CHalfLife2::GetValveCommandLine()
{
if (!m_pGetCommandLine)
return NULL;
return ((FakeGetCommandLine)((FakeGetCommandLine *)m_pGetCommandLine))();
}
#if !defined METAMOD_PLAPI_VERSION || PLAPI_VERSION < 11 #if !defined METAMOD_PLAPI_VERSION || PLAPI_VERSION < 11
bool CHalfLife2::IsOriginalEngine() bool CHalfLife2::IsOriginalEngine()
{ {
+6
View File
@@ -44,6 +44,7 @@
#include <server_class.h> #include <server_class.h>
#include <datamap.h> #include <datamap.h>
#include <ihandleentity.h> #include <ihandleentity.h>
#include <tier0/icommandline.h>
class CCommand; class CCommand;
@@ -136,6 +137,7 @@ public: //IGameHelpers
cell_t EntityToBCompatRef(CBaseEntity *pEntity); cell_t EntityToBCompatRef(CBaseEntity *pEntity);
void *GetGlobalEntityList(); void *GetGlobalEntityList();
int GetSendPropOffset(SendProp *prop); int GetSendPropOffset(SendProp *prop);
ICommandLine *GetValveCommandLine();
public: public:
void AddToFakeCliCmdQueue(int client, int userid, const char *cmd); void AddToFakeCliCmdQueue(int client, int userid, const char *cmd);
void ProcessFakeCliCmdQueue(); void ProcessFakeCliCmdQueue();
@@ -151,6 +153,9 @@ public:
#endif #endif
private: private:
DataTableInfo *_FindServerClass(const char *classname); DataTableInfo *_FindServerClass(const char *classname);
private:
void InitLogicalEntData();
void InitCommandLine();
private: private:
Trie *m_pClasses; Trie *m_pClasses;
List<DataTableInfo *> m_Tables; List<DataTableInfo *> m_Tables;
@@ -163,6 +168,7 @@ private:
CStack<DelayedFakeCliCmd *> m_FreeCmds; CStack<DelayedFakeCliCmd *> m_FreeCmds;
CStack<CachedCommandInfo> m_CommandStack; CStack<CachedCommandInfo> m_CommandStack;
Queue<DelayedKickInfo> m_DelayedKicks; Queue<DelayedKickInfo> m_DelayedKicks;
void *m_pGetCommandLine;
}; };
extern CHalfLife2 g_HL2; extern CHalfLife2 g_HL2;
+2 -2
View File
@@ -44,7 +44,6 @@
#include "HalfLife2.h" #include "HalfLife2.h"
#include <inetchannel.h> #include <inetchannel.h>
#include <iclient.h> #include <iclient.h>
#include <tier0/icommandline.h>
#include <IGameConfigs.h> #include <IGameConfigs.h>
#include "ExtensionSys.h" #include "ExtensionSys.h"
#include <sourcemod_version.h> #include <sourcemod_version.h>
@@ -244,7 +243,8 @@ void PlayerManager::OnServerActivate(edict_t *pEdictList, int edictCount, int cl
// clientMax will not necessarily be correct here (such as on late SourceTV enable) // clientMax will not necessarily be correct here (such as on late SourceTV enable)
m_maxClients = gpGlobals->maxClients; m_maxClients = gpGlobals->maxClients;
m_bIsSourceTVActive = (tv_enable && tv_enable->GetBool() && CommandLine()->FindParm("-nohltv") == 0); ICommandLine *commandLine = g_HL2.GetValveCommandLine();
m_bIsSourceTVActive = (tv_enable && tv_enable->GetBool() && (!commandLine || commandLine->FindParm("-nohltv") == 0));
m_bIsReplayActive = false; m_bIsReplayActive = false;
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE #if SOURCE_ENGINE == SE_ORANGEBOXVALVE
m_bIsReplayActive = (replay_enable && replay_enable->GetBool()); m_bIsReplayActive = (replay_enable && replay_enable->GetBool());
+7
View File
@@ -43,6 +43,7 @@
#include "Logger.h" #include "Logger.h"
#include "ExtensionSys.h" #include "ExtensionSys.h"
#include <sm_trie_tpl.h> #include <sm_trie_tpl.h>
#include <sh_memory.h>
#if defined PLATFORM_WINDOWS #if defined PLATFORM_WINDOWS
#include <windows.h> #include <windows.h>
@@ -729,11 +730,17 @@ static cell_t StoreToAddress(IPluginContext *pContext, const cell_t *params)
switch(size) switch(size)
{ {
case NumberType_Int8: case NumberType_Int8:
SourceHook::SetMemAccess(addr, sizeof(uint8_t), SH_MEM_READ|SH_MEM_WRITE|SH_MEM_EXEC);
*reinterpret_cast<uint8_t*>(addr) = data; *reinterpret_cast<uint8_t*>(addr) = data;
break;
case NumberType_Int16: case NumberType_Int16:
SourceHook::SetMemAccess(addr, sizeof(uint16_t), SH_MEM_READ|SH_MEM_WRITE|SH_MEM_EXEC);
*reinterpret_cast<uint16_t*>(addr) = data; *reinterpret_cast<uint16_t*>(addr) = data;
break;
case NumberType_Int32: case NumberType_Int32:
SourceHook::SetMemAccess(addr, sizeof(uint32_t), SH_MEM_READ|SH_MEM_WRITE|SH_MEM_EXEC);
*reinterpret_cast<uint32_t*>(addr) = data; *reinterpret_cast<uint32_t*>(addr) = data;
break;
default: default:
pContext->ThrowNativeError("Invalid number types %d", size); pContext->ThrowNativeError("Invalid number types %d", size);
} }
-1
View File
@@ -20,7 +20,6 @@ def BuildCURL():
env = os.environ.copy() env = os.environ.copy()
env['CFLAGS'] = '-m32' env['CFLAGS'] = '-m32'
if AMBuild.target['platform'] == 'darwin': if AMBuild.target['platform'] == 'darwin':
env['CFLAGS'] += ' -isysroot /Developer/SDKs/MacOSX10.5.sdk'
env['LDFLAGS'] = '-mmacosx-version-min=10.5' env['LDFLAGS'] = '-mmacosx-version-min=10.5'
else: else:
env['CFLAGS'] += ' -D_GNU_SOURCE' env['CFLAGS'] += ' -D_GNU_SOURCE'
+1 -1
View File
@@ -32,7 +32,7 @@
"ClanTagOffset" "ClanTagOffset"
{ {
"windows" "24" "windows" "24"
"linux" "41" "linux" "42"
"mac" "29" "mac" "29"
} }
} }
+3 -8
View File
@@ -43,14 +43,12 @@ KillDrug(client)
{ {
KillDrugTimer(client); KillDrugTimer(client);
new Float:pos[3];
GetClientAbsOrigin(client, pos);
new Float:angs[3]; new Float:angs[3];
GetClientEyeAngles(client, angs); GetClientEyeAngles(client, angs);
angs[2] = 0.0; angs[2] = 0.0;
TeleportEntity(client, pos, angs, NULL_VECTOR); TeleportEntity(client, NULL_VECTOR, angs, NULL_VECTOR);
new clients[2]; new clients[2];
clients[0] = client; clients[0] = client;
@@ -144,15 +142,12 @@ public Action:Timer_Drug(Handle:timer, any:client)
return Plugin_Handled; return Plugin_Handled;
} }
new Float:pos[3];
GetClientAbsOrigin(client, pos);
new Float:angs[3]; new Float:angs[3];
GetClientEyeAngles(client, angs); GetClientEyeAngles(client, angs);
angs[2] = g_DrugAngles[GetRandomInt(0,100) % 20]; angs[2] = g_DrugAngles[GetRandomInt(0,100) % 20];
TeleportEntity(client, pos, angs, NULL_VECTOR); TeleportEntity(client, NULL_VECTOR, angs, NULL_VECTOR);
new clients[2]; new clients[2];
clients[0] = client; clients[0] = client;
@@ -264,7 +259,7 @@ public Action:Command_Drug(client, args)
{ {
decl String:arg2[2]; decl String:arg2[2];
GetCmdArg(2, arg2, sizeof(arg2)); GetCmdArg(2, arg2, sizeof(arg2));
if (arg2[0]) if (StringToInt(arg2))
{ {
toggle = 1; toggle = 1;
} }
+1 -1
View File
@@ -489,7 +489,7 @@ native bool:VoteMenu(Handle:menu, clients[], numClients, time, flags=0);
* in progress. * in progress.
* @error Invalid Handle. * @error Invalid Handle.
*/ */
stock VoteMenuToAll(Handle:menu, time, flags=0) stock bool:VoteMenuToAll(Handle:menu, time, flags=0)
{ {
new total; new total;
decl players[MaxClients]; decl players[MaxClients];
+1
View File
@@ -122,6 +122,7 @@ enum TFHoliday
{ {
TFHoliday_Birthday = 1, TFHoliday_Birthday = 1,
TFHoliday_Halloween, TFHoliday_Halloween,
TFHoliday_Christmas,
TFHoliday_FullMoon, TFHoliday_FullMoon,
TFHoliday_HalloweenOrFullMoon, TFHoliday_HalloweenOrFullMoon,
}; };
+4
View File
@@ -218,6 +218,10 @@ enum {
TF_WEAPON_RAYGUN, TF_WEAPON_RAYGUN,
TF_WEAPON_PARTICLE_CANNON, TF_WEAPON_PARTICLE_CANNON,
TF_WEAPON_MECHANICAL_ARM, TF_WEAPON_MECHANICAL_ARM,
TF_WEAPON_DRG_POMSON,
TF_WEAPON_BAT_GIFTWRAP,
TF_WEAPON_GRENADE_ORNAMENT,
TF_WEAPON_RAYGUN_REVENGE,
}; };
// TF2 Weapon Slots for GetPlayerWeaponSlot // TF2 Weapon Slots for GetPlayerWeaponSlot
+2 -2
View File
@@ -37,6 +37,6 @@
#define SOURCEMOD_V_MAJOR 1 /**< SourceMod Major version */ #define SOURCEMOD_V_MAJOR 1 /**< SourceMod Major version */
#define SOURCEMOD_V_MINOR 4 /**< SourceMod Minor version */ #define SOURCEMOD_V_MINOR 4 /**< SourceMod Minor version */
#define SOURCEMOD_V_RELEASE 1 /**< SourceMod Release version */ #define SOURCEMOD_V_RELEASE 2 /**< SourceMod Release version */
#define SOURCEMOD_VERSION "1.4.1" /**< SourceMod version string (major.minor.release.build) */ #define SOURCEMOD_VERSION "1.4.2" /**< SourceMod version string (major.minor.release.build) */
+1 -1
View File
@@ -1 +1 @@
1.4.1 1.4.2
+9 -1
View File
@@ -40,12 +40,13 @@
*/ */
#define SMINTERFACE_GAMEHELPERS_NAME "IGameHelpers" #define SMINTERFACE_GAMEHELPERS_NAME "IGameHelpers"
#define SMINTERFACE_GAMEHELPERS_VERSION 7 #define SMINTERFACE_GAMEHELPERS_VERSION 8
class CBaseEntity; class CBaseEntity;
class CBaseHandle; class CBaseHandle;
class SendProp; class SendProp;
class ServerClass; class ServerClass;
class ICommandLine;
struct edict_t; struct edict_t;
struct datamap_t; struct datamap_t;
struct typedescription_t; struct typedescription_t;
@@ -284,6 +285,13 @@ namespace SourceMod
* @return True on success, false on failure. * @return True on success, false on failure.
*/ */
virtual bool HintTextMsg(int client, const char *msg) =0; virtual bool HintTextMsg(int client, const char *msg) =0;
/**
* @brief Retrieves the Valve command line pointer.
*
* @return ICommandLine ptr or NULL if not found.
*/
virtual ICommandLine *GetValveCommandLine() =0;
}; };
} }
+3 -3
View File
@@ -47,12 +47,12 @@ if ($reconf) {
$argn = $#ARGV + 1; $argn = $#ARGV + 1;
print "Attempting to reconfigure...\n"; print "Attempting to reconfigure...\n";
if ($argn > 0 && $^O !~ /MSWin/) { if ($argn > 0 && $^O !~ /MSWin/) {
$result = `CC=$ARGV[0] CXX=$ARGV[0] python3.1 ../build/configure.py --enable-optimize`; $result = `CC=$ARGV[0] CXX=$ARGV[0] python3 ../build/configure.py --enable-optimize`;
} else { } else {
if ($^O eq "linux") { if ($^O eq "linux") {
$result = `CC=gcc-4.4 CXX=gcc-4.4 python3.1 ../build/configure.py --enable-optimize`; $result = `CC=gcc-4.4 CXX=gcc-4.4 python3 ../build/configure.py --enable-optimize`;
} elsif ($^O eq "darwin") { } elsif ($^O eq "darwin") {
$result = `CC=gcc-4.2 CXX=gcc-4.2 python3.1 ../build/configure.py --enable-optimize`; $result = `CC=clang CXX=clang python3 ../build/configure.py --enable-optimize`;
} else { } else {
$result = `C:\\Python31\\Python.exe ..\\build\\configure.py --enable-optimize`; $result = `C:\\Python31\\Python.exe ..\\build\\configure.py --enable-optimize`;
} }
+1 -1
View File
@@ -11,7 +11,7 @@ require 'helpers.pm';
chdir('../../../OUTPUT'); chdir('../../../OUTPUT');
if ($^O eq "linux" || $^O eq "darwin") { if ($^O eq "linux" || $^O eq "darwin") {
system("python3.1 build.py 2>&1"); system("python3 build.py 2>&1");
} else { } else {
system("C:\\Python31\\python.exe build.py 2>&1"); system("C:\\Python31\\python.exe build.py 2>&1");
} }