mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 10:39:02 -04:00
Fixed Windows build.
Squash commit of the following from 2.0: commit cbd0b938d1e6a24c082fd510f3f6bb45a1ba3ce0 commit d392720f7fe4e3a85aec0f431b24d852d186d353 commit 30477f569bbd21590ad0687b5f09012deeb2b40e commit 4707f65e75867e443cbab8a5dcb0379341537263 commit e37621e04ea3b80c6f57c89873e530506f8d5587 commit 92cac06fc2e4207614efe0292d6cdf2954ff30a9 Plus many additional 2.1 specific fixes.
This commit is contained in:
parent
be8fbc6b70
commit
f8d7653acf
@ -121,7 +121,7 @@ class CoreExport usecountbase
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
class reference
|
||||
class CoreExport reference
|
||||
{
|
||||
T* value;
|
||||
public:
|
||||
@ -150,8 +150,10 @@ class reference
|
||||
inline bool operator>(const reference<T>& other) const { return value > other.value; }
|
||||
static inline void* operator new(size_t, void* m) { return m; }
|
||||
private:
|
||||
#ifndef WIN32
|
||||
static void* operator new(size_t);
|
||||
static void operator delete(void*);
|
||||
#endif
|
||||
};
|
||||
|
||||
/** This class can be used on its own to represent an exception, or derived to represent a module-specific exception.
|
||||
@ -198,6 +200,7 @@ class CoreExport CoreException : public std::exception
|
||||
}
|
||||
};
|
||||
|
||||
class Module;
|
||||
class CoreExport ModuleException : public CoreException
|
||||
{
|
||||
public:
|
||||
|
@ -103,7 +103,7 @@ class CoreExport CachedQuery
|
||||
#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED)
|
||||
typedef nspace::hash_map<irc::string, CachedQuery, nspace::hash_compare<irc::string> > dnscache;
|
||||
#else
|
||||
typedef nspace::hash_map<irc::string, CachedQuery, nspace::hash<irc::string> > dnscache;
|
||||
typedef nspace::hash_map<irc::string, CachedQuery, irc::hash> dnscache;
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -102,7 +102,7 @@ namespace irc
|
||||
* Case sensitivity is ignored, and the RFC 'character set'
|
||||
* is adhered to
|
||||
*/
|
||||
struct StrHashComp
|
||||
struct CoreExport StrHashComp
|
||||
{
|
||||
/** The operator () does the actual comparison in hash_map
|
||||
*/
|
||||
@ -156,7 +156,7 @@ namespace irc
|
||||
/** Remap a string so that comparisons for std::string match those
|
||||
* of irc::string; will be faster if doing many comparisons
|
||||
*/
|
||||
static std::string remap(const std::string& source);
|
||||
static CoreExport std::string remap(const std::string& source);
|
||||
};
|
||||
|
||||
/** Compose a hex string from raw data.
|
||||
@ -451,6 +451,15 @@ namespace irc
|
||||
* @return The new value with _ translated to space.
|
||||
*/
|
||||
CoreExport const char* Spacify(const char* n);
|
||||
|
||||
struct hash
|
||||
{
|
||||
/** Hash an irc::string using RFC1459 case sensitivity rules
|
||||
* @param s A string to hash
|
||||
* @return The hash value
|
||||
*/
|
||||
size_t CoreExport operator()(const irc::string &s) const;
|
||||
};
|
||||
}
|
||||
|
||||
/* Define operators for using >> and << with irc::string to an ostream on an istream. */
|
||||
@ -542,15 +551,6 @@ BEGIN_HASHMAP_NAMESPACE
|
||||
};
|
||||
#else
|
||||
|
||||
template<> struct hash<irc::string>
|
||||
{
|
||||
/** Hash an irc::string using RFC1459 case sensitivity rules
|
||||
* @param s A string to hash
|
||||
* @return The hash value
|
||||
*/
|
||||
size_t CoreExport operator()(const irc::string &s) const;
|
||||
};
|
||||
|
||||
/* XXX FIXME: Implement a hash function overriding std::string's that works with TR1! */
|
||||
|
||||
#ifdef HASHMAP_DEPRECATED
|
||||
|
@ -291,10 +291,6 @@ class CoreExport InspIRCd
|
||||
*/
|
||||
char ReadBuffer[65535];
|
||||
|
||||
#ifdef WIN32
|
||||
IPC* WindowsIPC;
|
||||
#endif
|
||||
|
||||
public:
|
||||
|
||||
/** Global cull list, will be processed on next iteration
|
||||
|
@ -409,7 +409,7 @@ class CoreExport ParamChannelModeHandler : public ModeHandler
|
||||
virtual bool ParamValidate(std::string& parameter);
|
||||
};
|
||||
|
||||
class PrefixModeHandler : public ModeHandler
|
||||
class CoreExport PrefixModeHandler : public ModeHandler
|
||||
{
|
||||
public:
|
||||
PrefixModeHandler(Module* Creator, const std::string& Name, char modeletter)
|
||||
|
@ -22,11 +22,121 @@
|
||||
#ifndef THREADENGINE_H
|
||||
#define THREADENGINE_H
|
||||
|
||||
#ifdef WINDOWS
|
||||
// #include "threadengines/threadengine_win32.h"
|
||||
#else
|
||||
#include "threadengines/threadengine_pthread.h"
|
||||
#endif
|
||||
#include <pthread.h>
|
||||
|
||||
class ThreadSignalSocket;
|
||||
|
||||
/** The Mutex class represents a mutex, which can be used to keep threads
|
||||
* properly synchronised. Use mutexes sparingly, as they are a good source
|
||||
* of thread deadlocks etc, and should be avoided except where absolutely
|
||||
* neccessary. Note that the internal behaviour of the mutex varies from OS
|
||||
* to OS depending on the thread engine, for example in windows a Mutex
|
||||
* in InspIRCd uses critical sections, as they are faster and simpler to
|
||||
* manage.
|
||||
*/
|
||||
class CoreExport Mutex
|
||||
{
|
||||
private:
|
||||
pthread_mutex_t mutex;
|
||||
friend class Condition;
|
||||
public:
|
||||
Mutex()
|
||||
{
|
||||
pthread_mutex_init(&mutex, NULL);
|
||||
}
|
||||
void lock()
|
||||
{
|
||||
pthread_mutex_lock(&mutex);
|
||||
}
|
||||
void unlock()
|
||||
{
|
||||
pthread_mutex_unlock(&mutex);
|
||||
}
|
||||
~Mutex()
|
||||
{
|
||||
pthread_mutex_destroy(&mutex);
|
||||
}
|
||||
|
||||
/** RAII locking object for proper unlock on exceptions */
|
||||
class Lock
|
||||
{
|
||||
public:
|
||||
Mutex& mutex;
|
||||
Lock(Mutex& m) : mutex(m)
|
||||
{
|
||||
mutex.lock();
|
||||
}
|
||||
~Lock()
|
||||
{
|
||||
mutex.unlock();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
class CoreExport Condition
|
||||
{
|
||||
pthread_cond_t pcond;
|
||||
|
||||
public:
|
||||
Condition()
|
||||
{
|
||||
pthread_cond_init(&pcond, NULL);
|
||||
}
|
||||
|
||||
~Condition()
|
||||
{
|
||||
pthread_cond_destroy(&pcond);
|
||||
}
|
||||
|
||||
void wait(Mutex& mutex)
|
||||
{
|
||||
pthread_cond_wait(&pcond, &mutex.mutex);
|
||||
}
|
||||
|
||||
void signal_one()
|
||||
{
|
||||
pthread_cond_signal(&pcond);
|
||||
}
|
||||
};
|
||||
|
||||
class CoreExport ThreadEngine
|
||||
{
|
||||
public:
|
||||
ThreadEngine();
|
||||
~ThreadEngine();
|
||||
void Submit(Job*);
|
||||
/** Wait for all jobs that rely on this module */
|
||||
void BlockForUnload(Module* going);
|
||||
|
||||
private:
|
||||
class Runner : public classbase
|
||||
{
|
||||
public:
|
||||
pthread_t id;
|
||||
ThreadEngine* const te;
|
||||
Job* current;
|
||||
static void* entry_point(void* parameter);
|
||||
void main_loop();
|
||||
Runner(ThreadEngine* t);
|
||||
~Runner();
|
||||
};
|
||||
|
||||
void result_loop();
|
||||
|
||||
Mutex job_lock;
|
||||
|
||||
std::list<Job*> submit_q;
|
||||
Condition submit_s;
|
||||
|
||||
std::vector<Runner*> threads;
|
||||
|
||||
std::list<Job*> result_q;
|
||||
Condition result_sc;
|
||||
ThreadSignalSocket* result_ss;
|
||||
|
||||
friend class ThreadSignalSocket;
|
||||
};
|
||||
|
||||
|
||||
class CoreExport Job : public classbase
|
||||
{
|
||||
|
@ -1,140 +0,0 @@
|
||||
/*
|
||||
* InspIRCd -- Internet Relay Chat Daemon
|
||||
*
|
||||
* Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
|
||||
* Copyright (C) 2008 Craig Edwards <craigedwards@brainbox.cc>
|
||||
*
|
||||
* This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation, version 2.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef THREADENGINE_PTHREAD_H
|
||||
#define THREADENGINE_PTHREAD_H
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
class ThreadSignalSocket;
|
||||
|
||||
/** The Mutex class represents a mutex, which can be used to keep threads
|
||||
* properly synchronised. Use mutexes sparingly, as they are a good source
|
||||
* of thread deadlocks etc, and should be avoided except where absolutely
|
||||
* neccessary. Note that the internal behaviour of the mutex varies from OS
|
||||
* to OS depending on the thread engine, for example in windows a Mutex
|
||||
* in InspIRCd uses critical sections, as they are faster and simpler to
|
||||
* manage.
|
||||
*/
|
||||
class CoreExport Mutex
|
||||
{
|
||||
private:
|
||||
pthread_mutex_t mutex;
|
||||
friend class pthread_cond_var;
|
||||
public:
|
||||
Mutex()
|
||||
{
|
||||
pthread_mutex_init(&mutex, NULL);
|
||||
}
|
||||
void lock()
|
||||
{
|
||||
pthread_mutex_lock(&mutex);
|
||||
}
|
||||
void unlock()
|
||||
{
|
||||
pthread_mutex_unlock(&mutex);
|
||||
}
|
||||
~Mutex()
|
||||
{
|
||||
pthread_mutex_destroy(&mutex);
|
||||
}
|
||||
|
||||
/** RAII locking object for proper unlock on exceptions */
|
||||
class Lock
|
||||
{
|
||||
public:
|
||||
Mutex& mutex;
|
||||
Lock(Mutex& m) : mutex(m)
|
||||
{
|
||||
mutex.lock();
|
||||
}
|
||||
~Lock()
|
||||
{
|
||||
mutex.unlock();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
/** Only available in pthreads model */
|
||||
class CoreExport pthread_cond_var
|
||||
{
|
||||
public:
|
||||
pthread_cond_t pcond;
|
||||
pthread_cond_var()
|
||||
{
|
||||
pthread_cond_init(&pcond, NULL);
|
||||
}
|
||||
|
||||
~pthread_cond_var()
|
||||
{
|
||||
pthread_cond_destroy(&pcond);
|
||||
}
|
||||
|
||||
void wait(Mutex& mutex)
|
||||
{
|
||||
pthread_cond_wait(&pcond, &mutex.mutex);
|
||||
}
|
||||
|
||||
void signal_one()
|
||||
{
|
||||
pthread_cond_signal(&pcond);
|
||||
}
|
||||
};
|
||||
|
||||
class CoreExport ThreadEngine
|
||||
{
|
||||
public:
|
||||
ThreadEngine();
|
||||
~ThreadEngine();
|
||||
void Submit(Job*);
|
||||
/** Wait for all jobs that rely on this module */
|
||||
void BlockForUnload(Module* going);
|
||||
|
||||
private:
|
||||
class Runner : public classbase
|
||||
{
|
||||
public:
|
||||
pthread_t id;
|
||||
ThreadEngine* const te;
|
||||
Job* current;
|
||||
static void* entry_point(void* parameter);
|
||||
void main_loop();
|
||||
Runner(ThreadEngine* t);
|
||||
~Runner();
|
||||
};
|
||||
|
||||
void result_loop();
|
||||
|
||||
Mutex job_lock;
|
||||
|
||||
std::list<Job*> submit_q;
|
||||
pthread_cond_var submit_s;
|
||||
|
||||
std::vector<Runner*> threads;
|
||||
|
||||
std::list<Job*> result_q;
|
||||
pthread_cond_var result_sc;
|
||||
ThreadSignalSocket* result_ss;
|
||||
|
||||
friend class ThreadSignalSocket;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
@ -154,7 +154,7 @@ void nspace::strlower(char *n)
|
||||
#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED)
|
||||
size_t nspace::hash_compare<irc::string, std::less<irc::string> >::operator()(const irc::string &s) const
|
||||
#else
|
||||
size_t CoreExport nspace::hash<irc::string>::operator()(const irc::string &s) const
|
||||
size_t CoreExport irc::hash::operator()(const irc::string &s) const
|
||||
#endif
|
||||
{
|
||||
register size_t t = 0;
|
||||
|
@ -346,9 +346,6 @@ InspIRCd::InspIRCd(int argc, char** argv) :
|
||||
#ifdef WIN32
|
||||
// Strict, frequent checking of memory on debug builds
|
||||
_CrtSetDbgFlag ( _CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
|
||||
|
||||
// Avoid erroneous frees on early exit
|
||||
WindowsIPC = 0;
|
||||
#endif
|
||||
|
||||
ServerInstance = this;
|
||||
@ -686,8 +683,7 @@ InspIRCd::InspIRCd(int argc, char** argv) :
|
||||
Logs->Log("STARTUP", DEFAULT,"Keeping pseudo-tty open as we are running in the foreground.");
|
||||
}
|
||||
#else
|
||||
WindowsIPC = new IPC;
|
||||
if(!Config->nofork)
|
||||
if(!Config->cmdline.nofork)
|
||||
{
|
||||
WindowsForkKillOwner();
|
||||
FreeConsole();
|
||||
@ -809,8 +805,6 @@ void InspIRCd::Run()
|
||||
getrusage(RUSAGE_SELF, &ru);
|
||||
stats->LastSampled = TIME;
|
||||
stats->LastCPU = ru.ru_utime;
|
||||
#else
|
||||
WindowsIPC->Check();
|
||||
#endif
|
||||
|
||||
/* Allow a buffer of two seconds drift on this so that ntpdate etc dont harass admins */
|
||||
|
@ -29,10 +29,11 @@
|
||||
|
||||
#ifndef DISABLE_WRITEV
|
||||
#include <sys/uio.h>
|
||||
#endif
|
||||
|
||||
#ifndef IOV_MAX
|
||||
#define IOV_MAX 1024
|
||||
#endif
|
||||
#endif
|
||||
|
||||
BufferedSocket::BufferedSocket()
|
||||
{
|
||||
|
@ -43,7 +43,7 @@ ListenSocket::ListenSocket(ConfigTag* tag, const irc::sockets::sockaddrs& bind_t
|
||||
if (bind_to.sa.sa_family == AF_INET6)
|
||||
{
|
||||
std::string addr = tag->getString("address");
|
||||
int enable = (addr.empty() || addr == "*") ? 0 : 1;
|
||||
const char enable = (addr.empty() || addr == "*") ? 0 : 1;
|
||||
setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &enable, sizeof(enable));
|
||||
// errors ignored intentionally
|
||||
}
|
||||
|
@ -1246,7 +1246,6 @@ ModeAction ListModeBase::OnModeChange(User* source, User*, Channel* channel, std
|
||||
}
|
||||
|
||||
parameter = "";
|
||||
return MODEACTION_DENY;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1268,14 +1267,12 @@ ModeAction ListModeBase::OnModeChange(User* source, User*, Channel* channel, std
|
||||
/* Tried to remove something that wasn't set */
|
||||
TellNotSet(source, channel, parameter);
|
||||
parameter = "";
|
||||
return MODEACTION_DENY;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Hmm, taking an exception off a non-existant list, DIE */
|
||||
TellNotSet(source, channel, parameter);
|
||||
parameter = "";
|
||||
return MODEACTION_DENY;
|
||||
}
|
||||
}
|
||||
return MODEACTION_DENY;
|
||||
|
@ -23,6 +23,10 @@
|
||||
|
||||
#include <GeoIP.h>
|
||||
|
||||
#ifdef WINDOWS
|
||||
# pragma comment(lib, "GeoIP.lib")
|
||||
#endif
|
||||
|
||||
/* $ModDesc: Provides a way to restrict users by country using GeoIP lookup */
|
||||
/* $LinkerFlags: -lGeoIP */
|
||||
|
||||
@ -32,13 +36,16 @@ class ModuleGeoIP : public Module
|
||||
GeoIP* gi;
|
||||
|
||||
public:
|
||||
ModuleGeoIP() : ext(EXTENSIBLE_USER, "geoip_cc", this)
|
||||
ModuleGeoIP() : ext(EXTENSIBLE_USER, "geoip_cc", this), gi(NULL)
|
||||
{
|
||||
gi = GeoIP_new(GEOIP_STANDARD);
|
||||
}
|
||||
|
||||
void init()
|
||||
{
|
||||
gi = GeoIP_new(GEOIP_STANDARD);
|
||||
if (gi == NULL)
|
||||
throw ModuleException("Unable to initialize geoip, are you missing GeoIP.dat?");
|
||||
|
||||
ServerInstance->Modules->AddService(ext);
|
||||
Implementation eventlist[] = { I_OnSetConnectClass };
|
||||
ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
|
||||
|
@ -27,6 +27,11 @@
|
||||
|
||||
#include <ldap.h>
|
||||
|
||||
#ifdef WINDOWS
|
||||
# pragma comment(lib, "ldap.lib")
|
||||
# pragma comment(lib, "lber.lib")
|
||||
#endif
|
||||
|
||||
/* $ModDesc: Allow/Deny connections based upon answer from LDAP server */
|
||||
/* $LinkerFlags: -lldap */
|
||||
|
||||
|
@ -27,6 +27,11 @@
|
||||
|
||||
#include <ldap.h>
|
||||
|
||||
#ifdef WINDOWS
|
||||
# pragma comment(lib, "ldap.lib")
|
||||
# pragma comment(lib, "lber.lib")
|
||||
#endif
|
||||
|
||||
/* $ModDesc: Allow/Deny connections based upon answer from LDAP server */
|
||||
/* $LinkerFlags: -lldap */
|
||||
|
||||
|
@ -28,7 +28,9 @@
|
||||
#include "sql.h"
|
||||
|
||||
#ifdef WINDOWS
|
||||
#pragma comment(lib, "mysqlclient.lib")
|
||||
# pragma comment(lib, "mysqlclient.lib")
|
||||
# pragma comment(lib, "advapi32.lib")
|
||||
# pragma comment(linker, "/NODEFAULTLIB:LIBCMT")
|
||||
#endif
|
||||
|
||||
namespace m_mysql {
|
||||
|
@ -28,7 +28,7 @@
|
||||
/* $LinkerFlags: exec("pcre-config --libs") rpath("pcre-config --libs") -lpcre */
|
||||
|
||||
#ifdef WINDOWS
|
||||
#pragma comment(lib, "pcre.lib")
|
||||
# pragma comment(lib, "libpcre.lib")
|
||||
#endif
|
||||
|
||||
class PCREException : public ModuleException
|
||||
|
@ -29,10 +29,6 @@
|
||||
#include "ssl.h"
|
||||
#include "m_cap.h"
|
||||
|
||||
#ifdef WINDOWS
|
||||
#pragma comment(lib, "libgnutls-13.lib")
|
||||
#endif
|
||||
|
||||
/* $ModDesc: Provides SSL support for clients */
|
||||
/* $CompileFlags: pkgconfincludes("gnutls","/gnutls/gnutls.h","") */
|
||||
/* $LinkerFlags: rpath("pkg-config --libs gnutls") pkgconflibs("gnutls","/libgnutls.so","-lgnutls") -lgcrypt */
|
||||
|
@ -28,10 +28,15 @@
|
||||
#include "ssl.h"
|
||||
|
||||
#ifdef WINDOWS
|
||||
#pragma comment(lib, "libeay32MTd")
|
||||
#pragma comment(lib, "ssleay32MTd")
|
||||
#undef MAX_DESCRIPTORS
|
||||
#define MAX_DESCRIPTORS 10000
|
||||
# pragma comment(lib, "libcrypto.lib")
|
||||
# pragma comment(lib, "libssl.lib")
|
||||
# pragma comment(lib, "user32.lib")
|
||||
# pragma comment(lib, "advapi32.lib")
|
||||
# pragma comment(lib, "libgcc.lib")
|
||||
# pragma comment(lib, "libmingwex.lib")
|
||||
# pragma comment(lib, "gdi32.lib")
|
||||
# undef MAX_DESCRIPTORS
|
||||
# define MAX_DESCRIPTORS 10000
|
||||
#endif
|
||||
|
||||
/* $ModDesc: Provides SSL support for clients */
|
||||
|
@ -176,7 +176,8 @@ CmdResult CommandFilter::Handle(const std::vector<std::string> ¶meters, User
|
||||
if (parameters.size() == 1)
|
||||
{
|
||||
/* Deleting a filter */
|
||||
if (static_cast<ModuleFilter&>(*creator).DeleteFilter(parameters[0]))
|
||||
Module *me = creator;
|
||||
if (static_cast<ModuleFilter *>(me)->DeleteFilter(parameters[0]))
|
||||
{
|
||||
user->WriteServ("NOTICE %s :*** Removed filter '%s'", user->nick.c_str(), parameters[0].c_str());
|
||||
ServerInstance->SNO->WriteToSnoMask(IS_LOCAL(user) ? 'a' : 'A', std::string("FILTER: ")+user->nick+" removed filter '"+parameters[0]+"'");
|
||||
@ -223,7 +224,9 @@ CmdResult CommandFilter::Handle(const std::vector<std::string> ¶meters, User
|
||||
{
|
||||
reason = parameters[3];
|
||||
}
|
||||
std::pair<bool, std::string> result = static_cast<ModuleFilter&>(*creator).AddFilter(freeform, type, reason, duration, flags);
|
||||
|
||||
Module *me = creator;
|
||||
std::pair<bool, std::string> result = static_cast<ModuleFilter *>(me)->AddFilter(freeform, type, reason, duration, flags);
|
||||
if (result.first)
|
||||
{
|
||||
user->WriteServ("NOTICE %s :*** Added filter '%s', type '%s'%s%s, flags '%s', reason: '%s'", user->nick.c_str(), freeform.c_str(),
|
||||
|
@ -53,5 +53,4 @@ class Autoconnect : public refcountbase
|
||||
Autoconnect(ConfigTag* Tag) : tag(Tag), Enabled(true) {}
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
#ifndef M_SPANNINGTREE_REMOTEUSER_H
|
||||
#define M_SPANNINGTREE_REMOTEUSER_H
|
||||
class CoreExport RemoteUser : public User
|
||||
class RemoteUser : public User
|
||||
{
|
||||
public:
|
||||
TreeServer* srv;
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "protocol.h"
|
||||
// This isn't a listmode, but we need this anyway for the limit of the number of timed modes allowed.
|
||||
#include "u_listmode.h"
|
||||
#include <iterator> // For std::back_inserter
|
||||
|
||||
/** Holds a timed mode
|
||||
*/
|
||||
|
@ -100,7 +100,7 @@
|
||||
#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED)
|
||||
typedef nspace::hash_map<irc::string, std::deque<User*>, nspace::hash_compare<irc::string, std::less<irc::string> > > watchentries;
|
||||
#else
|
||||
typedef nspace::hash_map<irc::string, std::deque<User*>, nspace::hash<irc::string> > watchentries;
|
||||
typedef nspace::hash_map<irc::string, std::deque<User*>, irc::hash> watchentries;
|
||||
#endif
|
||||
typedef std::map<irc::string, std::string> watchlist;
|
||||
|
||||
|
@ -41,7 +41,6 @@ void InspIRCd::SignalHandler(int signal)
|
||||
void InspIRCd::Exit(int status)
|
||||
{
|
||||
#ifdef WINDOWS
|
||||
delete WindowsIPC;
|
||||
SetServiceStopped(status);
|
||||
#endif
|
||||
if (this)
|
||||
|
@ -127,11 +127,13 @@ ThreadEngine::~ThreadEngine()
|
||||
|
||||
void* ThreadEngine::Runner::entry_point(void* parameter)
|
||||
{
|
||||
#ifndef WINDOWS
|
||||
/* Recommended by nenolod, signal safety on a per-thread basis */
|
||||
sigset_t set;
|
||||
sigemptyset(&set);
|
||||
sigaddset(&set, SIGPIPE);
|
||||
pthread_sigmask(SIG_BLOCK, &set, NULL);
|
||||
#endif
|
||||
|
||||
Runner* te = static_cast<Runner*>(parameter);
|
||||
te->main_loop();
|
18
win/cert.pem
18
win/cert.pem
@ -1,18 +0,0 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIC1DCCAj+gAwIBAgIDcGbSMAsGCSqGSIb3DQEBBTCBgTEQMA4GA1UEBhMHRW5n
|
||||
bGFuZDElMCMGA1UEChMcRGVmYXVsdCBJbnNwSVJDZCBDZXJ0aWZpY2F0ZTEeMBwG
|
||||
A1UECxMVU2VydmVyIEFkbWluaXN0cmF0aW9uMQswCQYDVQQIEwJVSzEZMBcGA1UE
|
||||
AxMQaXJjLmluc3BpcmNkLm9yZzAeFw0wNzA2MTMyMTUyMTNaFw0wOTA1MTMyMTUy
|
||||
MTNaMIGBMRAwDgYDVQQGEwdFbmdsYW5kMSUwIwYDVQQKExxEZWZhdWx0IEluc3BJ
|
||||
UkNkIENlcnRpZmljYXRlMR4wHAYDVQQLExVTZXJ2ZXIgQWRtaW5pc3RyYXRpb24x
|
||||
CzAJBgNVBAgTAlVLMRkwFwYDVQQDExBpcmMuaW5zcGlyY2Qub3JnMIGcMAsGCSqG
|
||||
SIb3DQEBAQOBjAAwgYgCgYDIbKvMTTogBZxTi1yn4ncVK09Wr+F2AxP63HWTzxnE
|
||||
wNhcURSaUqpCzVIfcpr7/jKn+8I17MzaMvG8m+sPKngPK5WMN440p12uitkS+uzk
|
||||
LbJ7J/Z335ar6nZOtbIO+aTDRzUTnNHGHRgdQj4GGvx89l0u7vQM3R2f9Oe2lWlc
|
||||
1wIDAQABo18wXTAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr
|
||||
BgEFBQcDATAPBgNVHQ8BAf8EBQMDB6AAMB0GA1UdDgQWBBQTdpXUljwHWvbEggnP
|
||||
BZMFhd1MvjALBgkqhkiG9w0BAQUDgYEARi9LL+mCxLWffiTHzGMO4ul0E0bXIzD5
|
||||
QzFI/llFzX4+fcuZJUFPgpBFJzxOqSO9RZAXHfm7x9sUMNpFP4ir4b2phQGr0QDd
|
||||
6nPHmcwuyiQISPIL3xcgrb2CuzQa/Wqmkxi5vXHf1CQQijJ1UA/FCPD6f+Dulcdq
|
||||
UAtrNsUBhLY=
|
||||
-----END CERTIFICATE-----
|
@ -28,7 +28,9 @@
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <process.h>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <time.h>
|
||||
#include "inspircd_win32wrapper.h"
|
||||
#include "colours.h"
|
||||
@ -36,7 +38,7 @@
|
||||
using namespace std;
|
||||
void Run();
|
||||
void Banner();
|
||||
void WriteCompileModules();
|
||||
void WriteCompileModules(const vector<string> &, const vector<string> &);
|
||||
void WriteCompileCommands();
|
||||
void Rebase();
|
||||
void CopyExtras();
|
||||
@ -79,80 +81,69 @@ bool get_bool_option(const char * text, bool def)
|
||||
return !strncmp(ret, "y", 1);
|
||||
}
|
||||
|
||||
void get_string_option(const char * text, char * def, char * buf)
|
||||
string get_string_option(const char * text, char * def)
|
||||
{
|
||||
static char buffer[500];
|
||||
if (*def)
|
||||
if (def && *def)
|
||||
printf_c("%s\n[\033[1;32m%s\033[0m] -> ", text, def);
|
||||
else
|
||||
printf_c("%s\n[] -> ", text);
|
||||
fgets(buffer, 500, stdin);
|
||||
if(sscanf(buffer, "%s", buf) != 1)
|
||||
|
||||
char buffer[1000], buf[1000];
|
||||
fgets(buffer, sizeof(buffer), stdin);
|
||||
if (sscanf(buffer, "%s", buf) != 1)
|
||||
strcpy(buf, def);
|
||||
|
||||
|
||||
printf("\n");
|
||||
return buf;
|
||||
}
|
||||
|
||||
// escapes a string for use in a c++ file
|
||||
bool escape_string(char * str, size_t size)
|
||||
void escape_string(string &str)
|
||||
{
|
||||
size_t len = strlen(str);
|
||||
char * d_str = (char*)malloc(len * 2);
|
||||
string copy = str;
|
||||
str.clear();
|
||||
|
||||
size_t i = 0;
|
||||
size_t j = 0;
|
||||
|
||||
for(; i < len; ++i)
|
||||
for (unsigned i = 0; i < copy.size(); ++i)
|
||||
{
|
||||
if(str[i] == '\\')
|
||||
{
|
||||
d_str[j++] = '\\';
|
||||
d_str[j++] = '\\';
|
||||
}
|
||||
else
|
||||
{
|
||||
d_str[j++] = str[i];
|
||||
}
|
||||
str += copy[i];
|
||||
if (copy[i] == '\\')
|
||||
str += '\\';
|
||||
}
|
||||
|
||||
d_str[j++] = 0;
|
||||
|
||||
if(j > size)
|
||||
{
|
||||
free(d_str);
|
||||
return false;
|
||||
}
|
||||
|
||||
strcpy(str, d_str);
|
||||
free(d_str);
|
||||
return true;
|
||||
}
|
||||
|
||||
/* gets the svn revision */
|
||||
int get_svn_revision(char * buffer, size_t len)
|
||||
string get_git_commit()
|
||||
{
|
||||
/* again.. I am lazy :p cbf to pipe output of svn info to us, so i'll just read the file */
|
||||
/*
|
||||
8
|
||||
|
||||
dir
|
||||
7033
|
||||
*/
|
||||
char buf[1000];
|
||||
int rev = 0;
|
||||
|
||||
FILE * f = fopen("..\\.svn\\entries", "r");
|
||||
char buf[128];
|
||||
char *ref = NULL, *commit = NULL;
|
||||
FILE *f = fopen("../.git/HEAD", "r");
|
||||
if (f)
|
||||
{
|
||||
for (int q = 0; q < 4; ++q)
|
||||
fgets(buf, 1000, f);
|
||||
|
||||
rev = atoi(buf);
|
||||
sprintf(buffer, "%u", rev);
|
||||
if (fgets(buf, sizeof(buf), f))
|
||||
{
|
||||
while (isspace(buf[strlen(buf) - 1]))
|
||||
buf[strlen(buf) - 1] = 0;
|
||||
char *p = strchr(buf, ' ');
|
||||
if (p)
|
||||
ref = ++p;
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
return rev;
|
||||
if (ref == NULL)
|
||||
return "";
|
||||
string ref_file = string("../.git/") + string(ref);
|
||||
f = fopen(ref_file.c_str(), "r");
|
||||
if (f)
|
||||
{
|
||||
if (fgets(buf, sizeof(buf), f))
|
||||
{
|
||||
while (isspace(buf[strlen(buf) - 1]))
|
||||
buf[strlen(buf) - 1] = 0;
|
||||
commit = buf;
|
||||
}
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
return commit != NULL ? commit : "";
|
||||
}
|
||||
|
||||
void get_machine_info(char * buffer, size_t len)
|
||||
@ -190,6 +181,26 @@ void get_machine_info(char * buffer, size_t len)
|
||||
*b = 0;
|
||||
}
|
||||
|
||||
vector<string> get_dir_list(const string &path_list)
|
||||
{
|
||||
char *paths = strdup(path_list.c_str());
|
||||
char *paths_save = paths;
|
||||
char *p = paths;
|
||||
vector<string> paths_return;
|
||||
|
||||
while ((p = strchr(paths, ';')))
|
||||
{
|
||||
*p++ = 0;
|
||||
paths_return.push_back(paths);
|
||||
paths = p;
|
||||
}
|
||||
if (paths != NULL)
|
||||
paths_return.push_back(paths);
|
||||
free(paths_save);
|
||||
|
||||
return paths_return;
|
||||
}
|
||||
|
||||
int __stdcall WinMain(IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, IN LPSTR lpCmdLine, IN int nShowCmd )
|
||||
{
|
||||
if (!strcmp(lpCmdLine, "/rebase"))
|
||||
@ -239,17 +250,8 @@ void Banner()
|
||||
|
||||
void Run()
|
||||
{
|
||||
bool use_openssl = false;
|
||||
bool ipv6 = true;
|
||||
char mod_path[MAX_PATH];
|
||||
char config_file[MAX_PATH];
|
||||
char library_dir[MAX_PATH];
|
||||
char base_path[MAX_PATH];
|
||||
char bin_dir[MAX_PATH];
|
||||
char revision_text[MAX_PATH];
|
||||
char openssl_inc_path[MAX_PATH];
|
||||
char openssl_lib_path[MAX_PATH];
|
||||
int revision = get_svn_revision(revision_text, MAX_PATH);
|
||||
vector<string> extra_include_paths, extra_lib_paths;
|
||||
string revision = get_git_commit();
|
||||
char version[514];
|
||||
char machine_text[MAX_PATH];
|
||||
get_machine_info(machine_text, MAX_PATH);
|
||||
@ -278,71 +280,32 @@ void Run()
|
||||
#else
|
||||
printf_c("Your operating system is: \033[1;32mwindows_x32 \033[0m\n");
|
||||
#endif
|
||||
printf_c("InspIRCd revision ID: \033[1;32m%s \033[0m\n\n", revision ? revision_text : "(Non-SVN build)");
|
||||
|
||||
ipv6 = get_bool_option("Do you want to enable IPv6?", false);
|
||||
printf_c("InspIRCd revision ID: \033[1;32m%s \033[0m\n\n", !revision.empty() ? revision.c_str() : "(Non-GIT build)");
|
||||
|
||||
printf_c("\033[1mExtra modules.\033[0m\n");
|
||||
if (get_bool_option("Do you want to compile any extra non-core modules?", false))
|
||||
{
|
||||
string extra_i_path = get_string_option("Extra include search paths separate by \";\"", ".");
|
||||
string extra_l_path = get_string_option("Extra library search paths, separate by \";\"", ".");
|
||||
|
||||
extra_include_paths = get_dir_list(extra_i_path);
|
||||
extra_lib_paths = get_dir_list(extra_l_path);
|
||||
}
|
||||
|
||||
printf_c("\033[1mAll paths are relative to the binary directory.\033[0m\n");
|
||||
get_string_option("In what directory do you wish to install the InspIRCd base?", "..", base_path);
|
||||
get_string_option("In what directory are the configuration files?", "../conf", config_file);
|
||||
get_string_option("In what directory are the modules to be compiled to?", "../modules", mod_path);
|
||||
get_string_option("In what directory is the IRCd binary to be placed?", ".", bin_dir);
|
||||
get_string_option("In what directory are the IRCd libraries to be placed?", "../lib", library_dir);
|
||||
|
||||
// NOTE: this may seem hackish (generating a batch build script), but it assures the user knows
|
||||
// what they're doing, and we don't have to mess with copying files and changing around modules.mak
|
||||
// for the extra libraries. --fez
|
||||
// in case it exists, remove old m_ssl_openssl.cpp
|
||||
remove("..\\src\\modules\\m_ssl_openssl.cpp");
|
||||
printf_c("You can compile InspIRCd modules that add OpenSSL or GnuTLS support for SSL functionality.\n"
|
||||
"To do so you will need the appropriate link libraries and header files on your system.\n");
|
||||
use_openssl = get_bool_option("Would you like to compile the IRCd with OpenSSL support?", false);
|
||||
if (use_openssl)
|
||||
{
|
||||
get_string_option("Please enter the full path to your OpenSSL include directory\n"
|
||||
"(e.g., C:\\openssl\\include, but NOT the openssl subdirectory under include\\)\n"
|
||||
"(also, path should not end in '\\')",
|
||||
"C:\\openssl\\include", openssl_inc_path);
|
||||
|
||||
// NOTE: if inspircd ever changes so that it compiles with /MT instead of the /MTd switch, then
|
||||
// the dependency on libeay32mtd.lib and ssleay32mtd.lib will change to just libeay32.lib and
|
||||
// ssleay32.lib. --fez
|
||||
|
||||
get_string_option("Please enter the full path to your OpenSSL library directory\n"
|
||||
"(e.g., C:\\openssl\\lib, which should contain libeay32mtd.lib and ssleay32mtd.lib)",
|
||||
"C:\\openssl\\lib", openssl_lib_path);
|
||||
|
||||
// write batch file
|
||||
FILE *fp = fopen("compile_openssl.bat", "w");
|
||||
fprintf(fp, "@echo off\n");
|
||||
fprintf(fp, "echo This batch script compiles m_ssl_openssl for InspIRCd.\n");
|
||||
fprintf(fp, "echo NOTE: this batch file should be invoked from the Visual Studio Command Prompt (vsvars32.bat)\n");
|
||||
fprintf(fp, "set OPENSSL_INC_PATH=\"%s\"\n", openssl_inc_path);
|
||||
fprintf(fp, "set OPENSSL_LIB_PATH=\"%s\"\n", openssl_lib_path);
|
||||
fprintf(fp, "set COMPILE=cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Wp64 /Zi /TP /I %%OPENSSL_INC_PATH%% m_ssl_openssl.cpp ..\\..\\win\\inspircd_memory_functions.cpp %%OPENSSL_INC_PATH%%\\openssl\\applink.c /link /LIBPATH:%%OPENSSL_LIB_PATH%% ..\\..\\bin\\release\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release\\modules\\m_ssl_openssl.so\" /PDB:\"..\\..\\bin\\release\\modules\\m_ssl_openssl.pdb\" /IMPLIB:\"..\\..\\bin\\release\\modules\\m_ssl_openssl.lib\"\n");
|
||||
fprintf(fp, "cd ..\\src\\modules\n");
|
||||
fprintf(fp, "copy extra\\m_ssl_openssl.cpp .\n");
|
||||
fprintf(fp, "echo \t%%COMPILE%%\n");
|
||||
fprintf(fp, "%%COMPILE%%\n");
|
||||
fprintf(fp, "cd ..\\..\\win\n");
|
||||
fprintf(fp, "echo done... now check for errors.\n");
|
||||
fclose(fp);
|
||||
|
||||
printf_c("\033[1;32m!!!NOTICE!!! The file 'compile_openssl.bat' has been written to your 'win' directory. Launch it\n"
|
||||
"!!! from the Visual Studio Command Prompt !!! to compile the m_ssl_openssl module.\n"
|
||||
"Wait until after compiling inspircd to run it.\n"
|
||||
"Also, ssleay32.dll and libeay32.dll will be required for the IRCd to run.\033[0m\n");
|
||||
}
|
||||
string base_path = get_string_option("In what directory do you wish to install the InspIRCd base?", "..");
|
||||
string config_file = get_string_option("In what directory are the configuration files?", "conf");
|
||||
string mod_path = get_string_option("In what directory are the modules to be compiled to?", "modules");
|
||||
string bin_dir = get_string_option("In what directory is the IRCd binary to be placed?", ".");
|
||||
|
||||
printf_c("\n\033[1;32mPre-build configuration is complete!\n\n"); sc(TNORMAL);
|
||||
|
||||
CopyExtras();
|
||||
|
||||
// dump all the options back out
|
||||
printf_c("\033[0mBase install path:\033[1;32m %s\n", base_path);
|
||||
printf_c("\033[0mConfig path:\033[1;32m %s\n", config_file);
|
||||
printf_c("\033[0mModule path:\033[1;32m %s\n", mod_path);
|
||||
printf_c("\033[0mLibrary path:\033[1;32m %s\n", library_dir);
|
||||
printf_c("\033[0mBase install path:\033[1;32m %s\n", base_path.c_str());
|
||||
printf_c("\033[0mConfig path:\033[1;32m %s\n", config_file.c_str());
|
||||
printf_c("\033[0mModule path:\033[1;32m %s\n", mod_path.c_str());
|
||||
printf_c("\033[0mSocket Engine:\033[1;32m %s\n", "select");
|
||||
|
||||
printf("\n"); sc(TNORMAL);
|
||||
@ -354,9 +317,8 @@ void Run()
|
||||
printf("\n");
|
||||
|
||||
// escape the pathes
|
||||
escape_string(config_file, MAX_PATH);
|
||||
escape_string(mod_path, MAX_PATH);
|
||||
escape_string(library_dir, MAX_PATH);
|
||||
escape_string(config_file);
|
||||
escape_string(mod_path);
|
||||
|
||||
printf("\nWriting inspircd_config.h...");
|
||||
FILE * f = fopen("inspircd_config.h", "w");
|
||||
@ -364,13 +326,10 @@ void Run()
|
||||
fprintf(f, "#ifndef __CONFIGURATION_AUTO__\n");
|
||||
fprintf(f, "#define __CONFIGURATION_AUTO__\n\n");
|
||||
|
||||
fprintf(f, "#define CONFIG_FILE \"%s/inspircd.conf\"\n", config_file);
|
||||
fprintf(f, "#define MOD_PATH \"%s\"\n", mod_path);
|
||||
fprintf(f, "#define MOD_PATH \"%s\"\n", mod_path.c_str());
|
||||
fprintf(f, "#define SOMAXCONN_S \"128\"\n");
|
||||
fprintf(f, "#define LIBRARYDIR \"%s\"\n", library_dir);
|
||||
fprintf(f, "#define MAXBUF 514\n");
|
||||
|
||||
fprintf(f, "\n#include \"inspircd_namedpipe.h\"");
|
||||
fprintf(f, "#endif\n\n");
|
||||
fclose(f);
|
||||
|
||||
@ -389,14 +348,14 @@ void Run()
|
||||
printf("Writing inspircd_version.h...");
|
||||
f = fopen("inspircd_version.h", "w");
|
||||
fprintf(f, "#define VERSION \"%s\"\n", version);
|
||||
fprintf(f, "#define REVISION \"%d\"\n", revision);
|
||||
fprintf(f, "#define REVISION \"%s\"\n", revision.c_str());
|
||||
fprintf(f, "#define SYSTEM \"%s\"\n", machine_text);
|
||||
fclose(f);
|
||||
|
||||
sc(TGREEN); printf(" done\n"); sc(TNORMAL);
|
||||
printf("Writing command and module compilation scripts...");
|
||||
WriteCompileCommands();
|
||||
WriteCompileModules();
|
||||
WriteCompileModules(extra_include_paths, extra_lib_paths);
|
||||
sc(TGREEN); printf(" done\n"); sc(TNORMAL);
|
||||
|
||||
printf("\nconfigure is done.. exiting!\n");
|
||||
@ -444,38 +403,12 @@ void Rebase()
|
||||
char dest[65535];
|
||||
char command[65535];
|
||||
|
||||
*dest = 0;
|
||||
|
||||
WIN32_FIND_DATA fd;
|
||||
#ifdef _DEBUG
|
||||
HANDLE fh = FindFirstFile("..\\bin\\debug\\lib\\*.so", &fd);
|
||||
#else
|
||||
HANDLE fh = FindFirstFile("..\\bin\\release\\lib\\*.so", &fd);
|
||||
#endif
|
||||
if(fh == INVALID_HANDLE_VALUE)
|
||||
return;
|
||||
|
||||
do
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
strcat(dest, " ..\\bin\\debug\\lib\\");
|
||||
#else
|
||||
strcat(dest, " ..\\bin\\release\\lib\\");
|
||||
#endif
|
||||
strcat(dest, fd.cFileName);
|
||||
}
|
||||
while (FindNextFile(fh, &fd));
|
||||
|
||||
FindClose(fh);
|
||||
|
||||
sprintf(command, "rebase.exe -v -b 10000000 -c baseaddr_commands.txt %s", dest);
|
||||
printf("%s\n", command);
|
||||
system(command);
|
||||
|
||||
#ifdef _DEBUG
|
||||
fh = FindFirstFile("..\\bin\\debug\\modules\\*.so", &fd);
|
||||
HANDLE fh = FindFirstFile("..\\bin\\debug\\modules\\*.so", &fd);
|
||||
#else
|
||||
fh = FindFirstFile("..\\bin\\release\\modules\\*.so", &fd);
|
||||
HANDLE fh = FindFirstFile("..\\bin\\release\\modules\\*.so", &fd);
|
||||
#endif
|
||||
if(fh == INVALID_HANDLE_VALUE)
|
||||
return;
|
||||
@ -498,7 +431,6 @@ void Rebase()
|
||||
system(command);
|
||||
|
||||
FindClose(fh);
|
||||
|
||||
}
|
||||
|
||||
void WriteCompileCommands()
|
||||
@ -539,38 +471,37 @@ void WriteCompileCommands()
|
||||
#ifdef WIN64
|
||||
// /MACHINE:X64
|
||||
#ifdef _DEBUG
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug_x64\\lib\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\lib\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\debug", NULL);
|
||||
CreateDirectory("..\\bin\\debug\\bin", NULL);
|
||||
CreateDirectory("..\\bin\\debug\\lib", NULL);
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug_x64\\inspircd.lib /OUT:\"..\\..\\bin\\debug_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\modules\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\commands\\debug", NULL);
|
||||
CreateDirectory("..\\bin\\debug\\modules", NULL);
|
||||
#else
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release_x64\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release_x64\\lib\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\lib\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\lib\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\release", NULL);
|
||||
CreateDirectory("..\\bin\\release\\bin", NULL);
|
||||
CreateDirectory("..\\bin\\release\\lib", NULL);
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release_x64\\inspircd.lib /OUT:\"..\\..\\bin\\release_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\modules\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\commands\\release", NULL);
|
||||
CreateDirectory("..\\bin\\release\\modules", NULL);
|
||||
#endif
|
||||
#else
|
||||
#ifdef _DEBUG
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\debug\\lib\\$*.so\" /PDB:\"..\\..\\bin\\debug\\lib\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\lib\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\debug", NULL);
|
||||
CreateDirectory("..\\bin\\debug\\bin", NULL);
|
||||
CreateDirectory("..\\bin\\debug\\lib", NULL);
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\inspircd.lib /OUT:\"..\\..\\bin\\debug\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\commands\\debug", NULL);
|
||||
CreateDirectory("..\\bin\\debug\\modules", NULL);
|
||||
#else
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib /OUT:\"..\\..\\bin\\release\\lib\\$*.so\" /PDB:\"..\\..\\bin\\release\\lib\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\lib\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\release", NULL);
|
||||
CreateDirectory("..\\bin\\release\\bin", NULL);
|
||||
CreateDirectory("..\\bin\\release\\lib", NULL);
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/commands\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\inspircd.lib /OUT:\"..\\..\\bin\\release\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n");
|
||||
CreateDirectory("..\\src\\commands\\release", NULL);
|
||||
CreateDirectory("..\\bin\\release\\modules", NULL);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
fprintf(f, "makedir:\n");
|
||||
#ifdef _DEBUG
|
||||
fprintf(f, "makedir:\n if not exist debug mkdir debug\n if not exist ..\\..\\bin\\debug\\lib mkdir ..\\..\\bin\\debug\\lib\n\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\debug mkdir ..\\..\\bin\\debug\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\debug\\modules mkdir ..\\..\\bin\\debug\\modules\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\debug\\data mkdir ..\\..\\bin\\debug\\data\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\debug\\logs mkdir ..\\..\\bin\\debug\\logs\n");
|
||||
#else
|
||||
fprintf(f, "makedir:\n if not exist release mkdir release\n if not exist ..\\..\\bin\\release\\lib mkdir ..\\..\\bin\\release\\lib\n\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\release mkdir ..\\..\\bin\\release\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\release\\modules mkdir ..\\..\\bin\\release\\modules\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\release\\data mkdir ..\\..\\bin\\release\\data\n");
|
||||
fprintf(f, " if not exist ..\\..\\bin\\release\\logs mkdir ..\\..\\bin\\release\\logs\n");
|
||||
#endif
|
||||
|
||||
// dump modules.. again the second and last time :)
|
||||
@ -581,7 +512,7 @@ void WriteCompileCommands()
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
void WriteCompileModules()
|
||||
void WriteCompileModules(const vector<string> &includes, const vector<string> &libs)
|
||||
{
|
||||
char modules[300][100];
|
||||
int module_count = 0;
|
||||
@ -603,6 +534,12 @@ void WriteCompileModules()
|
||||
} while(FindNextFile(fh, &fd));
|
||||
sc(TNORMAL);
|
||||
}
|
||||
|
||||
string extra_include, extra_lib;
|
||||
for (unsigned i = 0; i < includes.size(); ++i)
|
||||
extra_include += " /I \"" + includes[i] + "\" ";
|
||||
for (unsigned i = 0; i < libs.size(); ++i)
|
||||
extra_lib += " /LIBPATH:\"" + libs[i] + "\" ";
|
||||
|
||||
// Write our spiffy new makefile :D
|
||||
// I am such a lazy fucker :P
|
||||
@ -620,32 +557,26 @@ void WriteCompileModules()
|
||||
#ifdef WIN64
|
||||
// /MACHINE:X64
|
||||
#ifdef _DEBUG
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug_x64\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\debug_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\modules\\$*.lib\"\n\n");
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" %s /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link %s ..\\..\\bin\\debug_x64\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\debug_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\debug_x64\\modules\\$*.lib\"\n\n", extra_include.c_str(), extra_lib.c_str());
|
||||
CreateDirectory("..\\src\\modules\\debug_x64", NULL);
|
||||
#else
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release_x64\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\modules\\$*.lib\"\n\n");
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" %s /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link %s ..\\..\\bin\\release_x64\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release_x64\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release_x64\\modules\\$*.pdb\" /MACHINE:X64 /IMPLIB:\"..\\..\\bin\\release_x64\\modules\\$*.lib\"\n\n", extra_include.c_str(), extra_lib.c_str());
|
||||
CreateDirectory("..\\src\\modules\\release_x64", NULL);
|
||||
#endif
|
||||
#else
|
||||
#ifdef _DEBUG
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\debug\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\debug\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n");
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" %s /D \"WIN32\" /D \"_DEBUG\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /RTC1 /MDd /Fo\"Debug/\" /Fd\"Debug/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link %s ..\\..\\bin\\debug\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\debug\\modules\\$*.so\" /PDB:\"..\\..\\bin\\debug\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\debug\\modules\\$*.lib\"\n\n", extra_include.c_str(), extra_lib.c_str());
|
||||
CreateDirectory("..\\src\\modules\\debug", NULL);
|
||||
CreateDirectory("..\\src\\modules\\debug\\lib", NULL);
|
||||
CreateDirectory("..\\src\\modules\\debug\\modules", NULL);
|
||||
CreateDirectory("..\\src\\modules\\debug\\bin", NULL);
|
||||
#else
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link ..\\..\\bin\\release\\bin\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n");
|
||||
fprintf(f, " cl /nologo /LD /Od /I \".\" /I \"../../include\" /I \"../../include/modes\" /I \"../../include/modules\" /I \"../../win\" %s /D \"WIN32\" /D \"_CONSOLE\" /D \"_MBCS\" /D \"DLL_BUILD\" /Gm /EHsc /GL /MD /Fo\"Release/\" /Fd\"Release/vc90.pdb\" /W2 /Zi /TP $*.cpp ..\\..\\win\\inspircd_memory_functions.cpp /link %s ..\\..\\bin\\release\\inspircd.lib ws2_32.lib /OUT:\"..\\..\\bin\\release\\modules\\$*.so\" /PDB:\"..\\..\\bin\\release\\modules\\$*.pdb\" /IMPLIB:\"..\\..\\bin\\release\\modules\\$*.lib\"\n\n", extra_include.c_str(), extra_lib.c_str());
|
||||
CreateDirectory("..\\src\\modules\\release", NULL);
|
||||
CreateDirectory("..\\src\\modules\\release\\lib", NULL);
|
||||
CreateDirectory("..\\src\\modules\\release\\modules", NULL);
|
||||
CreateDirectory("..\\src\\modules\\release\\bin", NULL);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _DEBUG
|
||||
fprintf(f, "makedir:\n if not exist debug mkdir debug\n if not exist ..\\..\\bin\\debug\\modules mkdir ..\\..\\bin\\debug\\modules\n\n");
|
||||
fprintf(f, "makedir:\n if not exist debug mkdir debug\n\n");
|
||||
#else
|
||||
fprintf(f, "makedir:\n if not exist release mkdir release\n if not exist ..\\..\\bin\\release\\modules mkdir ..\\..\\bin\\release\\modules\n\n");
|
||||
fprintf(f, "makedir:\n if not exist release mkdir release\n\n");
|
||||
#endif
|
||||
|
||||
// dump modules.. again the second and last time :)
|
||||
|
@ -1,370 +0,0 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="configure"
|
||||
ProjectGUID="{B922B569-727E-4EB0-827A-04E133A91DE7}"
|
||||
RootNamespace="configure"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="."
|
||||
IntermediateDirectory="Debug_configureVc90"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
|
||||
OutputFile="$(OutDir)/configure.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/configure.pdb"
|
||||
SubSystem="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="."
|
||||
IntermediateDirectory="x64Debug_Configure"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WIN64"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/configure.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/configure.pdb"
|
||||
SubSystem="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="."
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/I:"include""
|
||||
Optimization="0"
|
||||
WholeProgramOptimization="true"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
|
||||
OutputFile="$(OutDir)/configure.exe"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
LinkTimeCodeGeneration="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="."
|
||||
IntermediateDirectory="x64Release_Configure"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||
MinimalRebuild="true"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
OutputFile="$(OutDir)/configure.exe"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\configure.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\colours.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,261 +0,0 @@
|
||||
;
|
||||
; InspIRCd -- Internet Relay Chat Daemon
|
||||
;
|
||||
; Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
|
||||
;
|
||||
; This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
; redistribute it and/or modify it under the terms of the GNU General Public
|
||||
; License as published by the Free Software Foundation, version 2.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
; FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;;;; SET THE BUILD TO BE PACKAGED HERE ;;;;
|
||||
|
||||
!define BUILD "release"
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; HM NIS Edit Wizard helper defines
|
||||
!define PRODUCT_NAME "InspIRCd"
|
||||
!define PRODUCT_VERSION "2.0"
|
||||
!define PRODUCT_PUBLISHER "InspIRCd Development Team"
|
||||
!define PRODUCT_WEB_SITE "http://www.inspircd.org/"
|
||||
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\inspircd.exe"
|
||||
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
|
||||
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
||||
!define DOT_MAJOR "2"
|
||||
!define DOT_MINOR "0"
|
||||
|
||||
SetCompressor bzip2
|
||||
|
||||
; MUI 1.67 compatible ------
|
||||
!include "MUI.nsh"
|
||||
|
||||
; MUI Settings
|
||||
!define MUI_ABORTWARNING
|
||||
!define MUI_ICON "inspircd.ico"
|
||||
!define MUI_UNICON "inspircd.ico"
|
||||
|
||||
; Welcome page
|
||||
!insertmacro MUI_PAGE_WELCOME
|
||||
; License page
|
||||
!define MUI_LICENSEPAGE_CHECKBOX
|
||||
!insertmacro MUI_PAGE_LICENSE "..\docs\COPYING"
|
||||
; directory page
|
||||
Page directory
|
||||
; Components page
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
; Instfiles page
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
; Finish page
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\InspGUI.exe"
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
; Uninstaller pages
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
; Language files
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
; Reserve files
|
||||
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
|
||||
|
||||
; MUI end ------
|
||||
|
||||
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
||||
OutFile "Setup.exe"
|
||||
InstallDir "$PROGRAMFILES\InspIRCd"
|
||||
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
||||
ShowInstDetails show
|
||||
ShowUnInstDetails show
|
||||
|
||||
Function IsDotNetInstalled
|
||||
|
||||
StrCpy $0 "0"
|
||||
StrCpy $1 "SOFTWARE\Microsoft\.NETFramework" ;registry entry to look in.
|
||||
StrCpy $2 0
|
||||
|
||||
StartEnum:
|
||||
;Enumerate the versions installed.
|
||||
EnumRegKey $3 HKLM "$1\policy" $2
|
||||
|
||||
;If we don't find any versions installed, it's not here.
|
||||
StrCmp $3 "" noDotNet notEmpty
|
||||
|
||||
;We found something.
|
||||
notEmpty:
|
||||
;Find out if the RegKey starts with 'v'.
|
||||
;If it doesn't, goto the next key.
|
||||
StrCpy $4 $3 1 0
|
||||
StrCmp $4 "v" +1 goNext
|
||||
StrCpy $4 $3 1 1
|
||||
|
||||
;It starts with 'v'. Now check to see how the installed major version
|
||||
;relates to our required major version.
|
||||
;If it's equal check the minor version, if it's greater,
|
||||
;we found a good RegKey.
|
||||
IntCmp $4 ${DOT_MAJOR} +1 goNext yesDotNetReg
|
||||
;Check the minor version. If it's equal or greater to our requested
|
||||
;version then we're good.
|
||||
StrCpy $4 $3 1 3
|
||||
IntCmp $4 ${DOT_MINOR} yesDotNetReg goNext yesDotNetReg
|
||||
|
||||
goNext:
|
||||
;Go to the next RegKey.
|
||||
IntOp $2 $2 + 1
|
||||
goto StartEnum
|
||||
|
||||
yesDotNetReg:
|
||||
;Now that we've found a good RegKey, let's make sure it's actually
|
||||
;installed by getting the install path and checking to see if the
|
||||
;mscorlib.dll exists.
|
||||
EnumRegValue $2 HKLM "$1\policy\$3" 0
|
||||
;$2 should equal whatever comes after the major and minor versions
|
||||
;(ie, v1.1.4322)
|
||||
StrCmp $2 "" noDotNet
|
||||
ReadRegStr $4 HKLM $1 "InstallRoot"
|
||||
;Hopefully the install root isn't empty.
|
||||
StrCmp $4 "" noDotNet
|
||||
;build the actuall directory path to mscorlib.dll.
|
||||
StrCpy $4 "$4$3.$2\mscorlib.dll"
|
||||
IfFileExists $4 yesDotNet noDotNet
|
||||
|
||||
noDotNet:
|
||||
MessageBox MB_OK "You do not have have v${DOT_MAJOR}.${DOT_MINOR} or greater of the .NET framework installed. This is required for the InspIRCd Monitor, however you can still launch the IRCd manually."
|
||||
|
||||
yesDotNet:
|
||||
;Everything checks out. Go on with the rest of the installation.
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Section "Binary Executable" SEC01
|
||||
Call IsDotNetInstalled
|
||||
SetOutPath "$TEMP"
|
||||
SetOverwrite ifnewer
|
||||
File "vcredist_x86.exe"
|
||||
ExecWait "$TEMP\vcredist_x86.exe"
|
||||
SetOutPath "$INSTDIR"
|
||||
SetOverwrite ifnewer
|
||||
File "..\bin\${BUILD}\InspGUI.exe"
|
||||
CreateDirectory "$SMPROGRAMS\InspIRCd"
|
||||
CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe"
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
SetOverwrite ifnewer
|
||||
File "..\bin\${BUILD}\bin\inspircd.exe"
|
||||
DetailPrint "Installing InspIRCd service..."
|
||||
nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --installservice'
|
||||
SectionEnd
|
||||
|
||||
Section "Config Files" SEC02
|
||||
SetOutPath "$INSTDIR\conf"
|
||||
File "..\conf\inspircd.motd.example"
|
||||
File "..\conf\inspircd.helpop-full.example"
|
||||
File "..\conf\inspircd.helpop.example"
|
||||
File "..\conf\inspircd.filter.example"
|
||||
File "..\conf\inspircd.conf.example"
|
||||
File "..\conf\opers.conf.example"
|
||||
File "..\conf\modules.conf.example"
|
||||
File "..\conf\links.conf.example"
|
||||
File "..\conf\inspircd.censor.example"
|
||||
File "..\conf\inspircd.rules.example"
|
||||
File "..\conf\inspircd.quotes.example"
|
||||
SetOutPath "$INSTDIR\conf\test"
|
||||
File "..\conf\test\test.conf"
|
||||
SectionEnd
|
||||
|
||||
Section "Command Handlers" SEC03
|
||||
SetOutPath "$INSTDIR\lib"
|
||||
File "..\bin\${BUILD}\lib\cmd_*.so"
|
||||
SectionEnd
|
||||
|
||||
Section "Modules" SEC04
|
||||
SetOutPath "$INSTDIR\modules"
|
||||
File "..\bin\${BUILD}\modules\m_*.so"
|
||||
SectionEnd
|
||||
|
||||
Section -AdditionalIcons
|
||||
SetOutPath $INSTDIR
|
||||
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
|
||||
CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
|
||||
CreateShortCut "$SMPROGRAMS\InspIRCd\Uninstall.lnk" "$INSTDIR\uninst.exe"
|
||||
SectionEnd
|
||||
|
||||
Section -Post
|
||||
WriteUninstaller "$INSTDIR\uninst.exe"
|
||||
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\inspircd.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||||
MessageBox MB_ICONINFORMATION|MB_OK "InspIRCd was successfully installed. Remember to edit your configuration file in $INSTDIR\conf!"
|
||||
SectionEnd
|
||||
|
||||
; Section descriptions
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Actual executable"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Command modules"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Default configuration files"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Optional non-SSL modules"
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
|
||||
Function un.onUninstSuccess
|
||||
HideWindow
|
||||
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
|
||||
FunctionEnd
|
||||
|
||||
Function .onInit
|
||||
SectionSetFlags ${SEC01} 17
|
||||
SectionSetFlags ${SEC03} 17
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\InspIRCd"
|
||||
FunctionEnd
|
||||
|
||||
Function un.onInit
|
||||
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
|
||||
Abort
|
||||
FunctionEnd
|
||||
|
||||
Section Uninstall
|
||||
DetailPrint "Uninstalling InspIRCd service..."
|
||||
nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --removeservice'
|
||||
Delete "$INSTDIR\${PRODUCT_NAME}.url"
|
||||
Delete "$INSTDIR\uninst.exe"
|
||||
Delete "$INSTDIR\modules\m_*.so"
|
||||
Delete "$INSTDIR\lib\cmd_*.so"
|
||||
Delete "$INSTDIR\conf\inspircd.quotes.example"
|
||||
Delete "$INSTDIR\conf\inspircd.rules.example"
|
||||
Delete "$INSTDIR\conf\inspircd.censor.example"
|
||||
Delete "$INSTDIR\conf\inspircd.conf.example"
|
||||
Delete "$INSTDIR\conf\inspircd.filter.example"
|
||||
Delete "$INSTDIR\conf\inspircd.helpop.example"
|
||||
Delete "$INSTDIR\conf\inspircd.helpop-full.example"
|
||||
Delete "$INSTDIR\conf\inspircd.motd.example"
|
||||
Delete "$INSTDIR\bin\inspircd.exe"
|
||||
Delete "$INSTDIR\InspGUI.exe"
|
||||
Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk"
|
||||
Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk"
|
||||
|
||||
RMDir "$SMPROGRAMS\InspIRCd"
|
||||
RMDir "$INSTDIR\modules"
|
||||
RMDir "$INSTDIR\lib"
|
||||
RMDir "$INSTDIR\conf"
|
||||
RMDir "$INSTDIR\bin"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
||||
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
|
||||
SetAutoClose true
|
||||
SectionEnd
|
100
win/inspircd.nsi
100
win/inspircd.nsi
@ -17,7 +17,6 @@
|
||||
; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
;
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;;;; SET THE BUILD TO BE PACKAGED HERE ;;;;
|
||||
@ -58,9 +57,6 @@ Page directory
|
||||
!insertmacro MUI_PAGE_COMPONENTS
|
||||
; Instfiles page
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
; Finish page
|
||||
!define MUI_FINISHPAGE_RUN "$INSTDIR\InspGUI.exe"
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
; Uninstaller pages
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
@ -74,7 +70,7 @@ Page directory
|
||||
; MUI end ------
|
||||
|
||||
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
||||
OutFile "Setup.exe"
|
||||
OutFile "${PRODUCT_NAME}-${PRODUCT_VERSION}-Setup.exe"
|
||||
InstallDir "$PROGRAMFILES\InspIRCd"
|
||||
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
|
||||
ShowInstDetails show
|
||||
@ -141,42 +137,25 @@ FunctionEnd
|
||||
|
||||
Section "Binary Executable" SEC01
|
||||
Call IsDotNetInstalled
|
||||
SetOutPath "$TEMP"
|
||||
SetOverwrite ifnewer
|
||||
File "vcredist_x86.exe"
|
||||
ExecWait "$TEMP\vcredist_x86.exe"
|
||||
CreateDirectory "$SMPROGRAMS\InspIRCd"
|
||||
CreateDirectory "$INSTDIR\logs"
|
||||
CreateDirectory "$INSTDIR\data"
|
||||
CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\inspircd.exe"
|
||||
SetOutPath "$INSTDIR"
|
||||
SetOverwrite ifnewer
|
||||
File "..\bin\${BUILD}\InspGUI.exe"
|
||||
CreateDirectory "$SMPROGRAMS\InspIRCd"
|
||||
CreateShortCut "$SMPROGRAMS\InspIRCd\InspIRCd.lnk" "$INSTDIR\InspGUI.exe"
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
SetOverwrite ifnewer
|
||||
File "..\bin\${BUILD}\bin\inspircd.exe"
|
||||
File "..\bin\${BUILD}\inspircd.exe"
|
||||
DetailPrint "Installing InspIRCd service..."
|
||||
nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --installservice'
|
||||
nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --installservice'
|
||||
SectionEnd
|
||||
|
||||
Section "Config Files" SEC02
|
||||
SetOutPath "$INSTDIR\conf"
|
||||
File "..\conf\inspircd.motd.example"
|
||||
File "..\conf\inspircd.helpop-full.example"
|
||||
File "..\conf\inspircd.helpop.example"
|
||||
File "..\conf\inspircd.filter.example"
|
||||
File "..\conf\inspircd.conf.example"
|
||||
File "..\conf\opers.conf.example"
|
||||
File "..\conf\modules.conf.example"
|
||||
File "..\conf\links.conf.example"
|
||||
File "..\conf\inspircd.censor.example"
|
||||
File "..\conf\inspircd.rules.example"
|
||||
File "..\conf\inspircd.quotes.example"
|
||||
SetOutPath "$INSTDIR\conf\test"
|
||||
File "..\conf\test\test.conf"
|
||||
File "..\docs\*.example"
|
||||
SectionEnd
|
||||
|
||||
Section "Command Handlers" SEC03
|
||||
SetOutPath "$INSTDIR\lib"
|
||||
File "..\bin\${BUILD}\lib\cmd_*.so"
|
||||
SetOutPath "$INSTDIR\modules"
|
||||
File "..\bin\${BUILD}\modules\cmd_*.so"
|
||||
SectionEnd
|
||||
|
||||
Section "Modules" SEC04
|
||||
@ -184,34 +163,6 @@ Section "Modules" SEC04
|
||||
File "..\bin\${BUILD}\modules\m_*.so"
|
||||
SectionEnd
|
||||
|
||||
Section "SSL Modules" SEC05
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
SetOverwrite ifnewer
|
||||
File "..\bin\${BUILD}\bin\libgcrypt-11.dll"
|
||||
File "..\bin\${BUILD}\bin\libgnutls-13.dll"
|
||||
File "..\bin\${BUILD}\bin\libgnutls-extra-13.dll"
|
||||
File "..\bin\${BUILD}\bin\libgnutls-openssl-13.dll"
|
||||
File "..\bin\${BUILD}\bin\libgpg-error-0.dll"
|
||||
File "..\bin\${BUILD}\bin\libopencdk-8.dll"
|
||||
File "..\bin\${BUILD}\bin\libtasn1-3.dll"
|
||||
SetOutPath "$INSTDIR\modules"
|
||||
File "c:\temp\m_ssl_gnutls.so"
|
||||
File "c:\temp\m_sslinfo.so"
|
||||
File "c:\temp\m_ssl_oper_cert.so"
|
||||
SetOutPath "$INSTDIR\conf"
|
||||
SetOverwrite off
|
||||
File "key.pem"
|
||||
File "cert.pem"
|
||||
SectionEnd
|
||||
|
||||
Section "Regexp Modules" SEC06
|
||||
SetOutPath "$INSTDIR\bin"
|
||||
SetOverwrite ifnewer
|
||||
File "..\bin\${BUILD}\bin\pcre.dll"
|
||||
SetOutPath "$INSTDIR\modules"
|
||||
File "c:\temp\m_filter_pcre.so"
|
||||
SectionEnd
|
||||
|
||||
Section -AdditionalIcons
|
||||
SetOutPath $INSTDIR
|
||||
WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
|
||||
@ -221,10 +172,10 @@ SectionEnd
|
||||
|
||||
Section -Post
|
||||
WriteUninstaller "$INSTDIR\uninst.exe"
|
||||
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bin\inspircd.exe"
|
||||
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\inspircd.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\inspircd.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\inspircd.exe"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
||||
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||||
@ -237,8 +188,6 @@ SectionEnd
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Command modules"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Default configuration files"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Optional non-SSL modules"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC05} "SSL modules and GnuTLS DLL libraries"
|
||||
!insertmacro MUI_DESCRIPTION_TEXT ${SEC06} "Regular expression module and PCRE DLL library"
|
||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
||||
|
||||
|
||||
@ -260,31 +209,24 @@ FunctionEnd
|
||||
|
||||
Section Uninstall
|
||||
DetailPrint "Uninstalling InspIRCd service..."
|
||||
nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\bin\inspircd.exe" --removeservice'
|
||||
nsExec::Exec /TIMEOUT=30000 '"$INSTDIR\inspircd.exe" --removeservice'
|
||||
Delete "$INSTDIR\${PRODUCT_NAME}.url"
|
||||
Delete "$INSTDIR\uninst.exe"
|
||||
Delete "$INSTDIR\modules\m_*.so"
|
||||
Delete "$INSTDIR\lib\cmd_*.so"
|
||||
Delete "$INSTDIR\conf\inspircd.quotes.example"
|
||||
Delete "$INSTDIR\conf\inspircd.rules.example"
|
||||
Delete "$INSTDIR\conf\inspircd.censor.example"
|
||||
Delete "$INSTDIR\conf\inspircd.conf.example"
|
||||
Delete "$INSTDIR\conf\inspircd.filter.example"
|
||||
Delete "$INSTDIR\conf\inspircd.helpop.example"
|
||||
Delete "$INSTDIR\conf\inspircd.helpop-full.example"
|
||||
Delete "$INSTDIR\conf\inspircd.motd.example"
|
||||
Delete "$INSTDIR\bin\inspircd.exe"
|
||||
Delete "$INSTDIR\bin\*.dll"
|
||||
Delete "$INSTDIR\InspGUI.exe"
|
||||
Delete "$INSTDIR\modules\*.so"
|
||||
Delete "$INSTDIR\conf\*.example"
|
||||
Delete "$INSTDIR\*.log"
|
||||
Delete "$INSTDIR\logs\*"
|
||||
Delete "$INSTDIR\data\*"
|
||||
Delete "$INSTDIR\inspircd.exe"
|
||||
Delete "$SMPROGRAMS\InspIRCd\Uninstall.lnk"
|
||||
Delete "$SMPROGRAMS\InspIRCd\InspIRCd Website.lnk"
|
||||
Delete "$SMPROGRAMS\InspIRCd\InspIRCd.lnk"
|
||||
|
||||
RMDir "$SMPROGRAMS\InspIRCd"
|
||||
RMDir "$INSTDIR\modules"
|
||||
RMDir "$INSTDIR\lib"
|
||||
RMDir "$INSTDIR\conf"
|
||||
RMDir "$INSTDIR\bin"
|
||||
RMDir "$INSTDIR\logs"
|
||||
RMDir "$INSTDIR\data"
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
||||
|
393
win/inspircd.vcxproj
Normal file
393
win/inspircd.vcxproj
Normal file
@ -0,0 +1,393 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>inspircd</ProjectName>
|
||||
<ProjectGUID>{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}</ProjectGUID>
|
||||
<RootNamespace>inspircd</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.20506.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">inspircd</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.exe</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\bin\release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">inspircd</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.exe</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">..\bin\debug_x64\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">x64DebugVc80\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">inspircd</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">.exe</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|X64'">..\bin\release_x64\bin\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|X64'">x64ReleaseVc80\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|X64'">inspircd</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|X64'">.exe</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|X64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Message>running configure...</Message>
|
||||
<Command>"$(ProjectDir)\configure.exe"</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;../include;../../include;../include/modes;../include/commands;../../include/modes;../../include/commands;../win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4100; 4512; 4127;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>psapi.lib;ws2_32.lib;mswsock.lib;kernel32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>LinkVerbose</ShowProgress>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)inspircd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<FixedBaseAddress>false</FixedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>@echo off
|
||||
echo Compiling Command Modules...
|
||||
cd ..\src\commands
|
||||
nmake -f commands.mak
|
||||
echo Compiling Modules...
|
||||
cd ..\modules
|
||||
nmake -f modules.mak
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<PreBuildEvent>
|
||||
<Message>running configure...</Message>
|
||||
<Command>"$(ProjectDir)\configure.exe"</Command>
|
||||
</PreBuildEvent>
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>.;../include;../../include;../include/modes;../include/commands;../../include/modes;../../include/commands;../win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>psapi.lib;ws2_32.lib;mswsock.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<EmbedManagedResourceFile>inspircd.ico;%(EmbedManagedResourceFile)</EmbedManagedResourceFile>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>@echo off
|
||||
echo Compiling Command Modules...
|
||||
cd ..\src\commands
|
||||
nmake -f commands.mak
|
||||
echo Compiling Modules...
|
||||
cd ..\modules
|
||||
nmake -f modules.mak
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<PreBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;../include;../../include;../include/modes;../include/commands;../../include/modes;../../include/commands;../win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;mswsock.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<ShowProgress>NotSet</ShowProgress>
|
||||
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)inspircd.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<FixedBaseAddress>false</FixedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<PreBuildEvent>
|
||||
<Message>running configure...</Message>
|
||||
<Command>$(ProjectDir)\configure.exe
|
||||
</Command>
|
||||
</PreBuildEvent>
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;../include;../../include;../include/modes;../include/commands;../../include/modes;../../include/commands;../win;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;mswsock.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Command>@echo off
|
||||
echo Compiling Command Modules...
|
||||
cd ..\src
|
||||
nmake -f commands.mak
|
||||
echo Compiling Modules...
|
||||
cd modules
|
||||
nmake -f modules.mak
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\bancache.cpp" />
|
||||
<ClCompile Include="..\src\base.cpp" />
|
||||
<ClCompile Include="..\src\channels.cpp" />
|
||||
<ClCompile Include="..\src\cidr.cpp" />
|
||||
<ClCompile Include="..\src\command_parse.cpp" />
|
||||
<ClCompile Include="..\src\commands.cpp" />
|
||||
<ClCompile Include="..\src\configparser.cpp" />
|
||||
<ClCompile Include="..\src\configreader.cpp" />
|
||||
<ClCompile Include="..\src\cull_list.cpp" />
|
||||
<ClCompile Include="..\src\dns.cpp" />
|
||||
<ClCompile Include="..\src\dynamic.cpp" />
|
||||
<ClCompile Include="..\src\filelogger.cpp" />
|
||||
<ClCompile Include="..\src\hashcomp.cpp" />
|
||||
<ClCompile Include="..\src\helperfuncs.cpp" />
|
||||
<ClCompile Include="..\src\inspircd.cpp" />
|
||||
<ClCompile Include="..\src\inspsocket.cpp" />
|
||||
<ClCompile Include="..\src\inspstring.cpp" />
|
||||
<ClCompile Include="..\src\listensocket.cpp" />
|
||||
<ClCompile Include="..\src\logger.cpp" />
|
||||
<ClCompile Include="..\src\mode.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_b.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_i.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_k.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_l.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_m.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_n.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_o.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_p.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_s.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_t.cpp" />
|
||||
<ClCompile Include="..\src\modes\cmode_v.cpp" />
|
||||
<ClCompile Include="..\src\modes\umode_i.cpp" />
|
||||
<ClCompile Include="..\src\modes\umode_o.cpp" />
|
||||
<ClCompile Include="..\src\modes\umode_s.cpp" />
|
||||
<ClCompile Include="..\src\modes\umode_w.cpp" />
|
||||
<ClCompile Include="..\src\modmanager_dynamic.cpp" />
|
||||
<ClCompile Include="..\src\modules.cpp" />
|
||||
<ClCompile Include="..\src\server.cpp" />
|
||||
<ClCompile Include="..\src\snomasks.cpp" />
|
||||
<ClCompile Include="..\src\socket.cpp" />
|
||||
<ClCompile Include="..\src\socketengine.cpp" />
|
||||
<ClCompile Include="..\src\socketengines\socketengine_select.cpp" />
|
||||
<ClCompile Include="..\src\stats.cpp" />
|
||||
<ClCompile Include="..\src\testsuite.cpp" />
|
||||
<ClCompile Include="..\src\threadengine.cpp" />
|
||||
<ClCompile Include="..\src\timer.cpp" />
|
||||
<ClCompile Include="..\src\user_resolver.cpp" />
|
||||
<ClCompile Include="..\src\usermanager.cpp" />
|
||||
<ClCompile Include="..\src\userprocess.cpp" />
|
||||
<ClCompile Include="..\src\users.cpp" />
|
||||
<ClCompile Include="..\src\whois.cpp" />
|
||||
<ClCompile Include="..\src\wildcard.cpp" />
|
||||
<ClCompile Include="..\src\xline.cpp" />
|
||||
<ClCompile Include="inspircd_memory_functions.cpp" />
|
||||
<ClCompile Include="inspircd_win32wrapper.cpp" />
|
||||
<ClCompile Include="pipe.cpp" />
|
||||
<ClCompile Include="pthread.cpp" />
|
||||
<ClCompile Include="win32service.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\src\modules\httpd.h">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\include\bancache.h" />
|
||||
<ClInclude Include="..\include\base.h" />
|
||||
<ClInclude Include="..\include\builtin-modes.h" />
|
||||
<ClInclude Include="..\include\caller.h" />
|
||||
<ClInclude Include="..\include\channels.h" />
|
||||
<ClInclude Include="..\include\command_parse.h" />
|
||||
<ClInclude Include="..\include\configparse.h" />
|
||||
<ClInclude Include="..\include\configreader.h" />
|
||||
<ClInclude Include="..\include\ctables.h" />
|
||||
<ClInclude Include="..\include\cull_list.h" />
|
||||
<ClInclude Include="..\include\dns.h" />
|
||||
<ClInclude Include="..\include\dynamic.h" />
|
||||
<ClInclude Include="..\include\exitcodes.h" />
|
||||
<ClInclude Include="..\include\filelogger.h" />
|
||||
<ClInclude Include="..\include\hash_map.h" />
|
||||
<ClInclude Include="..\include\hashcomp.h" />
|
||||
<ClInclude Include="..\include\inline.h" />
|
||||
<ClInclude Include="..\include\inspircd.h" />
|
||||
<ClInclude Include="..\include\inspsocket.h" />
|
||||
<ClInclude Include="..\include\inspstring.h" />
|
||||
<ClInclude Include="..\include\logger.h" />
|
||||
<ClInclude Include="..\include\membership.h" />
|
||||
<ClInclude Include="..\include\mode.h" />
|
||||
<ClInclude Include="..\include\modules.h" />
|
||||
<ClInclude Include="..\include\numerics.h" />
|
||||
<ClInclude Include="..\include\protocol.h" />
|
||||
<ClInclude Include="..\include\snomasks.h" />
|
||||
<ClInclude Include="..\include\socket.h" />
|
||||
<ClInclude Include="..\include\testsuite.h" />
|
||||
<ClInclude Include="..\include\threadengine.h" />
|
||||
<ClInclude Include="..\include\timer.h" />
|
||||
<ClInclude Include="..\include\typedefs.h" />
|
||||
<ClInclude Include="..\include\types.h" />
|
||||
<ClInclude Include="..\include\u_listmode.h" />
|
||||
<ClInclude Include="..\include\usermanager.h" />
|
||||
<ClInclude Include="..\include\users.h" />
|
||||
<ClInclude Include="..\include\xline.h" />
|
||||
<ClInclude Include="inspircd_config.h" />
|
||||
<ClInclude Include="inspircd_se_config.h" />
|
||||
<ClInclude Include="inspircd_win32wrapper.h" />
|
||||
<ClInclude Include="pipe.h" />
|
||||
<ClInclude Include="pthread.h" />
|
||||
<ClInclude Include="win32service.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\src\version.sh" />
|
||||
<None Include="inspircd.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="resource.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="configure.vcxproj">
|
||||
<Project>{b922b569-727e-4eb0-827a-04e133a91de7}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,51 +0,0 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inspircd", "inspircdVC90.vcproj", "{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7} = {B922B569-727E-4EB0-827A-04E133A91DE7}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "configure", "configureVC90.vcproj", "{B922B569-727E-4EB0-827A-04E133A91DE7}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "m_spanningtree", "m_spanningtreeVC90.vcproj", "{1EC86B60-AB2A-4984-8A7E-0422C15601E0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8} = {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Debug|x64.Build.0 = Debug|x64
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|Win32.Build.0 = Release|Win32
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|x64.ActiveCfg = Release|x64
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}.Release|x64.Build.0 = Release|x64
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Debug|x64.Build.0 = Debug|x64
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Release|Win32.Build.0 = Release|Win32
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Release|x64.ActiveCfg = Release|x64
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7}.Release|x64.Build.0 = Release|x64
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Debug|x64.Build.0 = Debug|x64
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|Win32.Build.0 = Release|Win32
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|x64.ActiveCfg = Release|x64
|
||||
{1EC86B60-AB2A-4984-8A7E-0422C15601E0}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,196 +0,0 @@
|
||||
/*
|
||||
* InspIRCd -- Internet Relay Chat Daemon
|
||||
*
|
||||
* Copyright (C) 2008 Craig Edwards <craigedwards@brainbox.cc>
|
||||
*
|
||||
* This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation, version 2.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include "inspircd.h"
|
||||
#include "threadengine.h"
|
||||
#include "inspircd_namedpipe.h"
|
||||
#include "exitcodes.h"
|
||||
#include <windows.h>
|
||||
#include <psapi.h>
|
||||
|
||||
|
||||
IPCThread::IPCThread()
|
||||
{
|
||||
if (!initwmi())
|
||||
ServerInstance->Logs->Log("IPC", DEBUG, "Could not initialise WMI. CPU percantage reports will not be available.");
|
||||
}
|
||||
|
||||
IPCThread::~IPCThread()
|
||||
{
|
||||
donewmi();
|
||||
}
|
||||
|
||||
void IPCThread::Run()
|
||||
{
|
||||
LPTSTR Pipename = "\\\\.\\pipe\\InspIRCdStatus";
|
||||
|
||||
while (GetExitFlag() == false)
|
||||
{
|
||||
Pipe = CreateNamedPipe (Pipename,
|
||||
PIPE_ACCESS_DUPLEX, // read/write access
|
||||
PIPE_TYPE_MESSAGE | // message type pipe
|
||||
PIPE_READMODE_MESSAGE | // message-read mode
|
||||
PIPE_WAIT, // blocking mode
|
||||
PIPE_UNLIMITED_INSTANCES, // max. instances
|
||||
MAXBUF, // output buffer size
|
||||
MAXBUF, // input buffer size
|
||||
1000, // client time-out
|
||||
NULL); // no security attribute
|
||||
|
||||
if (Pipe == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
SleepEx(10, true);
|
||||
continue;
|
||||
}
|
||||
|
||||
Connected = ConnectNamedPipe(Pipe, NULL) ? TRUE : (GetLastError() == ERROR_PIPE_CONNECTED);
|
||||
|
||||
if (Connected)
|
||||
{
|
||||
Success = ReadFile (Pipe, // handle to pipe
|
||||
this->status, // buffer to receive data
|
||||
1, // size of buffer
|
||||
&BytesRead, // number of bytes read
|
||||
NULL); // not overlapped I/O
|
||||
|
||||
if (!Success || !BytesRead)
|
||||
{
|
||||
CloseHandle(Pipe);
|
||||
continue;
|
||||
}
|
||||
|
||||
const char oldrequest = this->GetStatus();
|
||||
|
||||
/* Wait for main thread to pick up status change */
|
||||
while (this->GetStatus())
|
||||
SleepEx(10, true);
|
||||
|
||||
std::stringstream stat;
|
||||
DWORD Written = 0;
|
||||
float kbitpersec_in, kbitpersec_out, kbitpersec_total;
|
||||
|
||||
PROCESS_MEMORY_COUNTERS MemCounters;
|
||||
|
||||
ServerInstance->SE->GetStats(kbitpersec_in, kbitpersec_out, kbitpersec_total);
|
||||
|
||||
bool HaveMemoryStats = GetProcessMemoryInfo(GetCurrentProcess(), &MemCounters, sizeof(MemCounters));
|
||||
|
||||
stat << "name " << ServerInstance->Config->ServerName << std::endl;
|
||||
stat << "gecos " << ServerInstance->Config->ServerDesc << std::endl;
|
||||
stat << "numlocalusers " << ServerInstance->Users->LocalUserCount() << std::endl;
|
||||
stat << "numusers " << ServerInstance->Users->clientlist->size() << std::endl;
|
||||
stat << "numchannels " << ServerInstance->chanlist->size() << std::endl;
|
||||
stat << "numopers " << ServerInstance->Users->OperCount() << std::endl;
|
||||
stat << "timestamp " << ServerInstance->Time() << std::endl;
|
||||
stat << "pid " << GetProcessId(GetCurrentProcess()) << std::endl;
|
||||
stat << "request " << oldrequest << std::endl;
|
||||
stat << "result " << this->GetResult() << std::endl;
|
||||
stat << "kbitspersectotal " << kbitpersec_total << std::endl;
|
||||
stat << "kbitspersecout " << kbitpersec_out << std::endl;
|
||||
stat << "kbitspersecin " << kbitpersec_in << std::endl;
|
||||
stat << "uptime " << ServerInstance->Time() - ServerInstance->startup_time << std::endl;
|
||||
stat << "cpu " << getcpu() << std::endl;
|
||||
if (HaveMemoryStats)
|
||||
{
|
||||
stat << "workingset " << MemCounters.WorkingSetSize << std::endl;
|
||||
stat << "pagefile " << MemCounters.PagefileUsage << std::endl;
|
||||
stat << "pagefaults " << MemCounters.PageFaultCount << std::endl;
|
||||
}
|
||||
|
||||
stat << "END" << std::endl;
|
||||
|
||||
/* This is a blocking call and will succeed, so long as the client doesnt disconnect */
|
||||
Success = WriteFile(Pipe, stat.str().data(), stat.str().length(), &Written, NULL);
|
||||
|
||||
FlushFileBuffers(Pipe);
|
||||
DisconnectNamedPipe(Pipe);
|
||||
}
|
||||
CloseHandle(Pipe);
|
||||
}
|
||||
}
|
||||
|
||||
const char IPCThread::GetStatus()
|
||||
{
|
||||
return *status;
|
||||
}
|
||||
|
||||
void IPCThread::ClearStatus()
|
||||
{
|
||||
*status = '\0';
|
||||
}
|
||||
|
||||
int IPCThread::GetResult()
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
void IPCThread::SetResult(int newresult)
|
||||
{
|
||||
result = newresult;
|
||||
}
|
||||
|
||||
|
||||
IPC::IPC()
|
||||
{
|
||||
/* The IPC pipe is threaded */
|
||||
thread = new IPCThread();
|
||||
ServerInstance->Threads->Start(thread);
|
||||
}
|
||||
|
||||
void IPC::Check()
|
||||
{
|
||||
switch (thread->GetStatus())
|
||||
{
|
||||
case 'N':
|
||||
/* No-Operation */
|
||||
thread->SetResult(0);
|
||||
thread->ClearStatus();
|
||||
break;
|
||||
case '1':
|
||||
/* Rehash */
|
||||
ServerInstance->Rehash("due to rehash command from GUI");
|
||||
thread->SetResult(0);
|
||||
thread->ClearStatus();
|
||||
break;
|
||||
case '2':
|
||||
/* Shutdown */
|
||||
thread->SetResult(0);
|
||||
thread->ClearStatus();
|
||||
ServerInstance->Exit(EXIT_STATUS_NOERROR);
|
||||
break;
|
||||
case '3':
|
||||
/* Restart */
|
||||
thread->SetResult(0);
|
||||
thread->ClearStatus();
|
||||
ServerInstance->Restart("Restarting due to command from GUI");
|
||||
break;
|
||||
case '4':
|
||||
/* Toggle debug */
|
||||
thread->SetResult(0);
|
||||
thread->ClearStatus();
|
||||
ServerInstance->Config->forcedebug = !ServerInstance->Config->forcedebug;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
IPC::~IPC()
|
||||
{
|
||||
thread->SetExitFlag();
|
||||
delete thread;
|
||||
}
|
@ -1,262 +0,0 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="inspircd_site_release"
|
||||
ProjectGUID="{FF843150-D896-4EAD-BA0F-164C17687153}"
|
||||
RootNamespace="inspircd_site_release"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
GenerateDebugInformation="true"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Site Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
Description=""
|
||||
CommandLine=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
Description="Releasing to website"
|
||||
CommandLine="..\site_release.bat"
|
||||
Outputs="..\release.log"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
RuntimeLibrary="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
GenerateDebugInformation="true"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description=""
|
||||
CommandLine=""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -249,7 +249,7 @@ int printf_c(const char * format, ...)
|
||||
|
||||
int optind = 1;
|
||||
char optarg[514];
|
||||
int getopt_long_only(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind)
|
||||
int getopt_long(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind)
|
||||
{
|
||||
// burlex todo: handle the shortops, at the moment it only works with longopts.
|
||||
|
||||
@ -567,7 +567,7 @@ int clock_gettime(int clock, struct timespec * tv)
|
||||
|
||||
DWORD mstime = timeGetTime();
|
||||
tv->tv_sec = time(NULL);
|
||||
tv->tv_usec = (mstime - (tv->tv_sec * 1000)) * 1000000;
|
||||
tv->tv_nsec = (mstime - (tv->tv_sec * 1000)) * 1000000;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -707,3 +707,67 @@ int getcpu()
|
||||
|
||||
return cpu;
|
||||
}
|
||||
|
||||
int random()
|
||||
{
|
||||
return rand();
|
||||
}
|
||||
|
||||
void srandom(unsigned int seed)
|
||||
{
|
||||
srand(seed);
|
||||
}
|
||||
|
||||
int gettimeofday(timeval *tv, void *)
|
||||
{
|
||||
SYSTEMTIME st;
|
||||
GetSystemTime(&st);
|
||||
|
||||
tv->tv_sec = time(NULL);
|
||||
tv->tv_usec = st.wMilliseconds;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include "../src/modules/m_spanningtree/link.h"
|
||||
#include "../src/modules/ssl.h"
|
||||
/* This is required to get these template functions generated in the main inspircd.exe build
|
||||
* so modules may link to them ...
|
||||
*/
|
||||
static void unused_function()
|
||||
{
|
||||
reference<Link> unused_Link;
|
||||
reference<Autoconnect> unused_Autoconnect;
|
||||
reference<ssl_cert> unused_Cert;
|
||||
reference<Module> unused_Module;
|
||||
|
||||
if (unused_Link)
|
||||
unused_Link->Port = -1;
|
||||
if (unused_Autoconnect)
|
||||
unused_Autoconnect->NextConnectTime = -1;
|
||||
if (unused_Cert)
|
||||
unused_Cert->dn = "";
|
||||
if (unused_Module)
|
||||
unused_Module->ModuleSourceFile = "";
|
||||
|
||||
Autoconnect *a = unused_Autoconnect;
|
||||
Link *l = unused_Link;
|
||||
ssl_cert *s = unused_Cert;
|
||||
Module *m = unused_Module;
|
||||
|
||||
unused_Link = reference<Link>(unused_Link);
|
||||
unused_Autoconnect = reference<Autoconnect>(unused_Autoconnect);
|
||||
unused_Cert = reference<ssl_cert>(unused_Cert);
|
||||
unused_Module = reference<Module>(unused_Module);
|
||||
|
||||
unused_Link = reference<Link>(l);
|
||||
unused_Autoconnect = reference<Autoconnect>(a);
|
||||
unused_Cert = reference<ssl_cert>(s);
|
||||
unused_Module = reference<Module>(m);
|
||||
|
||||
delete unused_Link;
|
||||
delete unused_Autoconnect;
|
||||
delete unused_Cert;
|
||||
delete unused_Module;
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,11 @@
|
||||
*/
|
||||
#define PSAPI_VERSION 1
|
||||
|
||||
/* Do not #define min or max */
|
||||
#define NOMINMAX
|
||||
#undef min
|
||||
#undef max
|
||||
|
||||
#ifndef CONFIGURE_BUILD
|
||||
#include "win32service.h"
|
||||
#endif
|
||||
@ -91,9 +96,6 @@ typedef unsigned __int32 uint32_t;
|
||||
|
||||
#include <string>
|
||||
|
||||
/* Say we're building on windows 2000. Anyone running something older than this
|
||||
* reeeeeeeally needs to upgrade! */
|
||||
|
||||
/* Normal windows (platform-specific) includes */
|
||||
#include <winsock2.h>
|
||||
#include <windows.h>
|
||||
@ -106,6 +108,7 @@ typedef unsigned __int32 uint32_t;
|
||||
#include <algorithm>
|
||||
#include <io.h>
|
||||
#include <psapi.h>
|
||||
#include "pipe.h"
|
||||
|
||||
#ifdef ENABLE_CRASHDUMPS
|
||||
#include <DbgHelp.h>
|
||||
@ -144,6 +147,8 @@ CoreExport const char * insp_inet_ntop(int af, const void * src, char * dst, soc
|
||||
/* Since when does the ISO C++ standard *remove* C functions?! */
|
||||
#define mkdir(file,mode) _mkdir(file)
|
||||
|
||||
#define strncasecmp strnicmp
|
||||
|
||||
/* Unix-style sleep (argument is in seconds) */
|
||||
__inline void sleep(int seconds) { Sleep(seconds * 1000); }
|
||||
|
||||
@ -169,7 +174,7 @@ struct option
|
||||
};
|
||||
extern int optind;
|
||||
extern char optarg[514];
|
||||
int getopt_long_only (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind);
|
||||
int getopt_long(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind);
|
||||
|
||||
/* Module Loading */
|
||||
#define dlopen(path, state) (void*)LoadLibrary(path)
|
||||
@ -193,6 +198,12 @@ struct DIR
|
||||
bool first;
|
||||
};
|
||||
|
||||
struct timespec
|
||||
{
|
||||
time_t tv_sec;
|
||||
long tv_nsec;
|
||||
};
|
||||
|
||||
CoreExport DIR * opendir(const char * path);
|
||||
CoreExport dirent * readdir(DIR * handle);
|
||||
CoreExport void closedir(DIR * handle);
|
||||
@ -250,6 +261,9 @@ CoreExport void FindDNS(std::string& server);
|
||||
CoreExport bool initwmi();
|
||||
CoreExport void donewmi();
|
||||
CoreExport int getcpu();
|
||||
CoreExport int random();
|
||||
CoreExport void srandom(unsigned seed);
|
||||
CoreExport int gettimeofday(timeval *tv, void *);
|
||||
|
||||
#endif
|
||||
|
||||
|
15
win/key.pem
15
win/key.pem
@ -1,15 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICWwIBAAKBgQDIbKvMTTogBZxTi1yn4ncVK09Wr+F2AxP63HWTzxnEwNhcURSa
|
||||
UqpCzVIfcpr7/jKn+8I17MzaMvG8m+sPKngPK5WMN440p12uitkS+uzkLbJ7J/Z3
|
||||
35ar6nZOtbIO+aTDRzUTnNHGHRgdQj4GGvx89l0u7vQM3R2f9Oe2lWlc1wIDAQAB
|
||||
AoGABh+/7hmr/X9+Y9Udyylxzw1IOtNb9cGpUiB7XT1WQbtMwSFfGkoNVsY0TK6x
|
||||
SqLdRGG+cOxf5AjrdwJin8+B5JLsoFUJ79ouUSye4IpywH6pQPzTW5L/Pqw+lM81
|
||||
YZB/I7OKwSOkmFvKM8l9Y3U/UdvPeVPU44jAsnTyN9gZ/q0CQQDb+qGe7T8AIm1U
|
||||
rz9Wf8/BBQy6ShoaL5sv0dqLE1/CWkGPnkhm8HA/6udlUiVNBcWlirKeSuzctC23
|
||||
u/mGU179AkEA6T5TyZ798qKyKpZXqNzyfnq5RMjCdr12rtk+sTYThbHndGonhjKk
|
||||
PqWgQ/Aq3t33J740jsNpz6za6/hPRGp1YwJANE4o5eAljcOh2XP+DHRBkvS/bQA3
|
||||
qqhNLxan70/BAjZxxlNthcR//EK/mJDqu6C2uUD8bbUFEwlooXp5v13NhQJALGbN
|
||||
FIjL1zDZsfnE3kSRdTpvooSFYI1Y1phMsveUZ9MiOKssswNY+QQWqlhCEQM4VbyD
|
||||
zNmufvZtBpbSoDeT+QJAasQ/yEgYJnC+nbWmiJVuIFYFiWkxYToSUv4yFq2zHj6O
|
||||
hVVCUr60FTMzqzS4BXzWVQVX2ylDJA40dUBTZ9HI7g==
|
||||
-----END RSA PRIVATE KEY-----
|
@ -1,302 +1,292 @@
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>m_spanningtree</ProjectName>
|
||||
<ProjectGUID>{1EC86B60-AB2A-4984-8A7E-0422C15601E0}</ProjectGUID>
|
||||
<RootNamespace>m_spanningtree</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.20506.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\debug\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug_spanningtree\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">..\bin\debug_x64\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">x64Debug_spanningtree\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\bin\release\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|X64'">..\bin\release_x64\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|X64'">x64Release_spanningtree\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|X64'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|X64'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|X64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\debug\bin;..\bin\debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)m_spanningtree.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\debug_x64\bin;..\bin\debug_x64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)m_spanningtree.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level2</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\release\bin;..\bin\release\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Message>Re-basing shared objects...</Message>
|
||||
<Command>@cd $(ProjectDir)
|
||||
@"$(ProjectDir)\rebase.bat"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level2</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\release_x64\bin;..\bin\release_x64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\addline.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\admin.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\cachetimer.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\capab.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\delline.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\encap.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\fhost.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\fjoin.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\fmode.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\fname.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\ftopic.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\handshaketimer.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\hmac.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\kill.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\main.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\metadata.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\modules.cpp">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)modules_spanningtree.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\motd.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\netburst.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\nickcollide.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\operquit.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\opertype.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_admin.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_map.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_modules.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_motd.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_squit.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_stats.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_time.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_whois.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\ping.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\pong.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\postcommand.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\precommand.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\privmsg.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\protocolinterface.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\push.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\rconnect.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\resolvers.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\rsquit.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\server.cpp">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)servers_spanningtree.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\stats.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\svsjoin.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\svsnick.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\svspart.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\time.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\treeserver.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\treesocket1.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\treesocket2.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\uid.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\utils.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\version.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\whois.cpp" />
|
||||
<ClCompile Include="inspircd_memory_functions.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\cachetimer.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\handshaketimer.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\link.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\main.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\protocolinterface.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\rconnect.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\resolvers.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\rsquit.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\treeserver.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\treesocket.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\utils.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="inspircdVC90.vcxproj">
|
||||
<Project>{fe82a6fc-41c7-4cb1-aa46-6dbcb6c682c8}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>m_spanningtree</ProjectName>
|
||||
<ProjectGUID>{1EC86B60-AB2A-4984-8A7E-0422C15601E0}</ProjectGUID>
|
||||
<RootNamespace>m_spanningtree</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets">
|
||||
<Import Project="$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(LocalAppData)\Microsoft\VisualStudio\10.0\Microsoft.Cpp.$(Platform).user.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<Import Project="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props" Condition="exists('$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.20506.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\bin\debug\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug_spanningtree\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">..\bin\debug_x64\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">x64Debug_spanningtree\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\bin\release\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|X64'">..\bin\release_x64\modules\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|X64'">x64Release_spanningtree\</IntDir>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|X64'">m_spanningtree</TargetName>
|
||||
<TargetExt Condition="'$(Configuration)|$(Platform)'=='Release|X64'">.so</TargetExt>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|X64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\debug\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)m_spanningtree.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|X64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\debug_x64\bin;..\bin\debug_x64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(OutDir)m_spanningtree.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||
<Optimization>MinSpace</Optimization>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level2</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\release\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Message>Re-basing shared objects...</Message>
|
||||
<Command>@cd $(ProjectDir)
|
||||
@"$(ProjectDir)\rebase.bat"
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|X64'">
|
||||
<Midl>
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level2</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;inspircd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\bin\release_x64\bin;..\bin\release_x64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
<DataExecutionPrevention>
|
||||
</DataExecutionPrevention>
|
||||
<ImportLibrary>$(OutDir)m_spanningtree.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\addline.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\autoconnect.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\away.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\cachetimer.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\capab.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\compat.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\delline.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\encap.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\fjoin.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\fmode.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\ftopic.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\hmac.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\main.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\metadata.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\netburst.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\nickcollide.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\operquit.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\opertype.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_map.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_squit.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\override_stats.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\ping.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\pong.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\postcommand.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\precommand.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\protocolinterface.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\push.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\rconnect.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\resolvers.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\rsquit.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\save.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\server.cpp">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)servers_spanningtree.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\svsjoin.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\svsnick.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\svspart.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\treeserver.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\treesocket1.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\treesocket2.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\uid.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\user.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\utils.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\version.cpp" />
|
||||
<ClCompile Include="..\src\modules\m_spanningtree\whois.cpp">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)servers_whois.obj</ObjectFileName>
|
||||
</ClCompile>
|
||||
<ClCompile Include="inspircd_memory_functions.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\cachetimer.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\commands.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\link.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\main.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\protocolinterface.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\remoteuser.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\resolvers.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\treeserver.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\treesocket.h" />
|
||||
<ClInclude Include="..\src\modules\m_spanningtree\utils.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="inspircd.vcxproj">
|
||||
<Project>{fe82a6fc-41c7-4cb1-aa46-6dbcb6c682c8}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@ -1,634 +0,0 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="m_spanningtree"
|
||||
ProjectGUID="{1EC86B60-AB2A-4984-8A7E-0422C15601E0}"
|
||||
RootNamespace="m_spanningtree"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
<Platform
|
||||
Name="x64"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="..\bin\debug\modules"
|
||||
IntermediateDirectory="Debug_spanningtree"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
|
||||
OutputFile="$(OutDir)/m_spanningtree.so"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\bin\debug\bin;..\bin\debug\lib"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/m_spanningtree.pdb"
|
||||
SubSystem="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(OutDir)/m_spanningtree.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="..\bin\release\modules"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/MP"
|
||||
Optimization="1"
|
||||
WholeProgramOptimization="true"
|
||||
AdditionalIncludeDirectories="..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD"
|
||||
MinimalRebuild="false"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="2"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
|
||||
OutputFile="$(OutDir)/m_spanningtree.so"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\bin\release\bin;..\bin\release\lib"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
LinkTimeCodeGeneration="1"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(OutDir)/m_spanningtree.lib"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
Description="Re-basing shared objects..."
|
||||
CommandLine="@cd $(InputDir)
@"$(InputDir)\rebase.bat"
"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="..\bin\debug_x64\modules"
|
||||
IntermediateDirectory="x64Debug_spanningtree"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DLL_BUILD;WIN64"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib"
|
||||
OutputFile="$(OutDir)/m_spanningtree.so"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\bin\debug_x64\bin;..\bin\debug_x64\lib"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/m_spanningtree.pdb"
|
||||
SubSystem="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(OutDir)/m_spanningtree.lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="..\bin\release_x64\modules"
|
||||
IntermediateDirectory="x64Release_spanningtree"
|
||||
ConfigurationType="2"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
TargetEnvironment="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD"
|
||||
MinimalRebuild="true"
|
||||
RuntimeLibrary="0"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="2"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib"
|
||||
OutputFile="$(OutDir)/m_spanningtree.so"
|
||||
LinkIncremental="1"
|
||||
AdditionalLibraryDirectories="..\bin\release_x64\bin;..\bin\release_x64\lib"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="0"
|
||||
ImportLibrary="$(OutDir)/m_spanningtree.lib"
|
||||
TargetMachine="17"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\addline.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\admin.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\away.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\cachetimer.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\capab.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\compat.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\delline.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\encap.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\fhost.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\fident.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\fjoin.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\fmode.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\fname.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\ftopic.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\hmac.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\kill.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\main.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\metadata.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\motd.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\netburst.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\nickcollide.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\operquit.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\opertype.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\override_admin.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\override_map.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\override_motd.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\override_squit.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\override_stats.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\override_time.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\override_whois.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\ping.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\pong.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\postcommand.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\precommand.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\protocolinterface.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\push.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\rconnect.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\resolvers.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\rsquit.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\save.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\server.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\stats.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\svsjoin.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\svsnick.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\svspart.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\time.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\treeserver.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\treesocket1.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\treesocket2.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\uid.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\utils.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\version.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\whois.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\cachetimer.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\link.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\main.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\protocolinterface.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\rconnect.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\resolvers.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\rsquit.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\treeserver.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\treesocket.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\src\modules\m_spanningtree\utils.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\inspircd_memory_functions.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
@ -1,10 +0,0 @@
|
||||
move ..\bin\release\modules\m_ssl_gnutls.so c:\temp\
|
||||
move ..\bin\release\modules\m_sslinfo.so c:\temp\
|
||||
move ..\bin\release\modules\m_ssl_oper_cert.so c:\temp\
|
||||
move ..\bin\release\modules\m_filter_pcre.so c:\temp\
|
||||
"C:\Program Files\NSIS\makensisw.exe" "inspircd.nsi"
|
||||
move c:\temp\m_ssl_gnutls.so ..\bin\release\modules
|
||||
move c:\temp\m_sslinfo.so ..\bin\release\modules
|
||||
move c:\temp\m_ssl_oper_cert.so ..\bin\release\modules
|
||||
move c:\temp\m_filter_pcre.so ..\bin\release\modules
|
||||
|
77
win/pipe.cpp
Normal file
77
win/pipe.cpp
Normal file
@ -0,0 +1,77 @@
|
||||
/*
|
||||
* InspIRCd -- Internet Relay Chat Daemon
|
||||
*
|
||||
* POSIX emulation layer for Windows.
|
||||
*
|
||||
* Copyright (C) 2012 Anope Team <team@anope.org>
|
||||
*
|
||||
* This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation, version 2.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <WinSock2.h>
|
||||
#include <WS2tcpip.h>
|
||||
|
||||
int pipe(int fds[2])
|
||||
{
|
||||
struct sockaddr_in localhost;
|
||||
|
||||
if (inet_pton(AF_INET, "127.0.0.1", &localhost.sin_addr) != 1)
|
||||
return -1;
|
||||
|
||||
int cfd = socket(AF_INET, SOCK_STREAM, 0), lfd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
if (cfd == -1 || lfd == -1)
|
||||
{
|
||||
closesocket(cfd);
|
||||
closesocket(lfd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (bind(lfd, reinterpret_cast<struct sockaddr *>(&localhost), sizeof(localhost)) == -1)
|
||||
{
|
||||
closesocket(cfd);
|
||||
closesocket(lfd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (listen(lfd, 1) == -1)
|
||||
{
|
||||
closesocket(cfd);
|
||||
closesocket(lfd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
struct sockaddr_in lfd_addr;
|
||||
socklen_t sz = sizeof(lfd_addr);
|
||||
getsockname(lfd, reinterpret_cast<struct sockaddr *>(&lfd_addr), &sz);
|
||||
|
||||
if (connect(cfd, reinterpret_cast<struct sockaddr *>(&lfd_addr), sizeof(lfd_addr)))
|
||||
{
|
||||
closesocket(cfd);
|
||||
closesocket(lfd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
int afd = accept(lfd, NULL, NULL);
|
||||
closesocket(lfd);
|
||||
if (afd == -1)
|
||||
{
|
||||
closesocket(cfd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
fds[0] = cfd;
|
||||
fds[1] = afd;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
/*
|
||||
* InspIRCd -- Internet Relay Chat Daemon
|
||||
*
|
||||
* Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
|
||||
* Copyright (C) 2008 Craig Edwards <craigedwards@brainbox.cc>
|
||||
* POSIX emulation layer for Windows.
|
||||
*
|
||||
* Copyright (C) 2012 Anope Team <team@anope.org>
|
||||
*
|
||||
* This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU General Public
|
||||
@ -17,39 +18,4 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef INSPIRCD_NAMEDPIPE
|
||||
#define INSPIRCD_NAMEDPIPE
|
||||
|
||||
#include "threadengine.h"
|
||||
#include <windows.h>
|
||||
|
||||
class IPCThread : public Thread
|
||||
{
|
||||
BOOL Connected;
|
||||
DWORD BytesRead;
|
||||
BOOL Success;
|
||||
HANDLE Pipe;
|
||||
char status[MAXBUF];
|
||||
int result;
|
||||
public:
|
||||
IPCThread();
|
||||
virtual ~IPCThread();
|
||||
virtual void Run();
|
||||
const char GetStatus();
|
||||
int GetResult();
|
||||
void ClearStatus();
|
||||
void SetResult(int newresult);
|
||||
};
|
||||
|
||||
class IPC
|
||||
{
|
||||
private:
|
||||
IPCThread* thread;
|
||||
public:
|
||||
IPC();
|
||||
void Check();
|
||||
~IPC();
|
||||
};
|
||||
|
||||
#endif
|
||||
extern int pipe(int fds[2]);
|
130
win/pthread.cpp
Normal file
130
win/pthread.cpp
Normal file
@ -0,0 +1,130 @@
|
||||
/*
|
||||
* InspIRCd -- Internet Relay Chat Daemon
|
||||
*
|
||||
* POSIX emulation layer for Windows.
|
||||
*
|
||||
* Copyright (C) 2012 Anope Team <team@anope.org>
|
||||
*
|
||||
* This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation, version 2.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "pthread.h"
|
||||
|
||||
struct ThreadInfo
|
||||
{
|
||||
void *(*entry)(void *);
|
||||
void *param;
|
||||
};
|
||||
|
||||
static DWORD WINAPI entry_point(void *parameter)
|
||||
{
|
||||
ThreadInfo *ti = static_cast<ThreadInfo *>(parameter);
|
||||
ti->entry(ti->param);
|
||||
delete ti;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_init(pthread_attr_t *)
|
||||
{
|
||||
/* No need for this */
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_attr_setdetachstate(pthread_attr_t *, int)
|
||||
{
|
||||
/* No need for this */
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_create(pthread_t *thread, const pthread_attr_t *, void *(*entry)(void *), void *param)
|
||||
{
|
||||
ThreadInfo *ti = new ThreadInfo;
|
||||
ti->entry = entry;
|
||||
ti->param = param;
|
||||
|
||||
*thread = CreateThread(NULL, 0, entry_point, ti, 0, NULL);
|
||||
if (!*thread)
|
||||
{
|
||||
delete ti;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_join(pthread_t thread, void **)
|
||||
{
|
||||
if (WaitForSingleObject(thread, INFINITE) == WAIT_FAILED)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void pthread_exit(int i)
|
||||
{
|
||||
ExitThread(i);
|
||||
}
|
||||
|
||||
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *)
|
||||
{
|
||||
InitializeCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_mutex_destroy(pthread_mutex_t *mutex)
|
||||
{
|
||||
DeleteCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_mutex_lock(pthread_mutex_t *mutex)
|
||||
{
|
||||
EnterCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_mutex_trylock(pthread_mutex_t *mutex)
|
||||
{
|
||||
return !TryEnterCriticalSection(mutex);
|
||||
}
|
||||
|
||||
int pthread_mutex_unlock(pthread_mutex_t *mutex)
|
||||
{
|
||||
LeaveCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *)
|
||||
{
|
||||
*cond = CreateEvent(NULL, false, false, NULL);
|
||||
if (*cond == NULL)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int pthread_cond_destroy(pthread_cond_t *cond)
|
||||
{
|
||||
return !CloseHandle(*cond);
|
||||
}
|
||||
|
||||
int pthread_cond_signal(pthread_cond_t *cond)
|
||||
{
|
||||
return !PulseEvent(*cond);
|
||||
}
|
||||
|
||||
int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)
|
||||
{
|
||||
LeaveCriticalSection(mutex);
|
||||
WaitForSingleObject(*cond, INFINITE);
|
||||
EnterCriticalSection(mutex);
|
||||
return 0;
|
||||
}
|
48
win/pthread.h
Normal file
48
win/pthread.h
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* InspIRCd -- Internet Relay Chat Daemon
|
||||
*
|
||||
* POSIX emulation layer for Windows.
|
||||
*
|
||||
* Copyright (C) 2012 Anope Team <team@anope.org>
|
||||
*
|
||||
* This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation, version 2.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#include <Windows.h>
|
||||
|
||||
typedef HANDLE pthread_t;
|
||||
typedef CRITICAL_SECTION pthread_mutex_t;
|
||||
typedef HANDLE pthread_cond_t;
|
||||
typedef int pthread_attr_t;
|
||||
typedef void pthread_mutexattr_t;
|
||||
typedef void pthread_condattr_t;
|
||||
|
||||
#define PTHREAD_CREATE_JOINABLE 0
|
||||
|
||||
extern int pthread_attr_init(pthread_attr_t *);
|
||||
extern int pthread_attr_setdetachstate(pthread_attr_t *, int);
|
||||
extern int pthread_create(pthread_t *, const pthread_attr_t *, void *(*)(void *), void *);
|
||||
extern int pthread_join(pthread_t, void **);
|
||||
extern void pthread_exit(int);
|
||||
|
||||
extern int pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *);
|
||||
extern int pthread_mutex_destroy(pthread_mutex_t *);
|
||||
extern int pthread_mutex_lock(pthread_mutex_t *);
|
||||
extern int pthread_mutex_trylock(pthread_mutex_t *);
|
||||
extern int pthread_mutex_unlock(pthread_mutex_t *);
|
||||
|
||||
extern int pthread_cond_init(pthread_cond_t *, const pthread_condattr_t *);
|
||||
extern int pthread_cond_destroy(pthread_cond_t *);
|
||||
extern int pthread_cond_signal(pthread_cond_t *);
|
||||
extern int pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *);
|
@ -1,60 +0,0 @@
|
||||
#!perl
|
||||
|
||||
#
|
||||
# InspIRCd -- Internet Relay Chat Daemon
|
||||
#
|
||||
# Copyright (C) 2008 Craig Edwards <craigedwards@brainbox.cc>
|
||||
#
|
||||
# This file is part of InspIRCd. InspIRCd is free software: you can
|
||||
# redistribute it and/or modify it under the terms of the GNU General Public
|
||||
# License as published by the Free Software Foundation, version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
# FOR A PARTICULAR PURPOSE. See the 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
|
||||
open(FH,"<../src/version.sh") or die("Can't open version.sh");
|
||||
while (chomp($v = <FH>))
|
||||
{
|
||||
$version = $v if $v =~ /^echo/;
|
||||
}
|
||||
close FH;
|
||||
|
||||
print "Version: '$version'\n";
|
||||
|
||||
$version =~ /InspIRCd-(\d+)\.(\d+)\.(\d+)([ab\+]|RC|rc)/;
|
||||
|
||||
$v1 = $1;
|
||||
$v2 = $2;
|
||||
$v3 = $3;
|
||||
$type = $4;
|
||||
|
||||
print "v1=$1 v2=$2 v3=$3 type=$4\n";
|
||||
|
||||
if ($type =~ /^[ab]|rc|RC$/)
|
||||
{
|
||||
$version =~ /InspIRCd-\d+\.\d+\.\d+([ab]|RC|rc)(\d+)/;
|
||||
$alphabeta = $2;
|
||||
print "Version sub is $type $alphabeta\n";
|
||||
$name = "InspIRCd-$v1.$v2.$v3$type$alphabeta.exe";
|
||||
$rel = "$v1.$v2.$v3$type$alphabeta";
|
||||
}
|
||||
else
|
||||
{
|
||||
$name = "InspIRCd-$v1.$v2.$v3.exe";
|
||||
$rel = "$v1.$v2.$v3";
|
||||
}
|
||||
|
||||
print "del $name\n";
|
||||
print "ren Setup.exe $name\n";
|
||||
|
||||
system("del $name");
|
||||
system("ren Setup.exe $name");
|
||||
|
||||
system("upload_release.bat $name $rel");
|
@ -1,13 +0,0 @@
|
||||
@echo off
|
||||
|
||||
echo Release commencing...
|
||||
|
||||
cd ..
|
||||
|
||||
rem make binary
|
||||
"c:\program files\nsis\makensis.exe" inspircd-noextras.nsi
|
||||
|
||||
rem determine name for the binary
|
||||
perl rename_installer.pl
|
||||
|
||||
@echo on
|
@ -1,12 +0,0 @@
|
||||
@echo off
|
||||
|
||||
echo release/makereleasetrunk.sh %2 > remote.txt
|
||||
start "Linux build" "c:\Program Files\PuTTY\putty.exe" -load "inspircd release" -m remote.txt
|
||||
|
||||
echo option batch on > upload.scp
|
||||
echo option confirm off >> upload.scp
|
||||
echo put -speed=4 -nopermissions -preservetime %1 /usr/home/inspircd/www/downloads/ >> upload.scp
|
||||
echo exit >> upload.scp
|
||||
start "File upload" "c:\program files\winscp\winscp.com" "inspircd release" /script=upload.scp
|
||||
|
||||
@echo on
|
@ -1,13 +1,13 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 10
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inspircd", "inspircdVC90.vcxproj", "{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "inspircd", "inspircd.vcxproj", "{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B922B569-727E-4EB0-827A-04E133A91DE7} = {B922B569-727E-4EB0-827A-04E133A91DE7}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "configure", "configureVC90.vcxproj", "{B922B569-727E-4EB0-827A-04E133A91DE7}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "configure", "configure.vcxproj", "{B922B569-727E-4EB0-827A-04E133A91DE7}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "m_spanningtree", "m_spanningtreeVC90.vcxproj", "{1EC86B60-AB2A-4984-8A7E-0422C15601E0}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "m_spanningtree", "m_spanningtree.vcxproj", "{1EC86B60-AB2A-4984-8A7E-0422C15601E0}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8} = {FE82A6FC-41C7-4CB1-AA46-6DBCB6C682C8}
|
||||
EndProjectSection
|
||||
|
Loading…
x
Reference in New Issue
Block a user