* 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, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef __RBUILD_H
-#define __RBUILD_H
+
+#pragma once
#include "pch.h"
#define DEF_SBAD_SEP "\\"
#endif
-#define MS_VS_DEF_VERSION "7.10"
+#define MS_VS_DEF_VERSION "9.00"
class XmlNode;
class Directory;
MicrosoftLink
};
+enum SpecFileType
+{
+ None,
+ Spec = 1,
+ PSpec = 2
+};
+
class Configuration
{
public:
static std::string GetArch ();
static std::string GetIntermediatePath ();
static std::string GetOutputPath ();
+ static std::string GetSourcePath ();
static std::string GetCdOutputPath ();
static std::string GetInstallPath ();
static std::string GetAutomakeFile ( const std::string& defaultFile );
const Property* LookupProperty ( const std::string& name ) const;
std::string GetCompilerSet () const;
std::string GetLinkerSet () const;
+ void GenerateInstallerFileList();
private:
std::string ResolveNextProperty ( const std::string& s ) const;
void ReadXml ();
ImportLibrary* delayImportLibrary;
Metadata* metadata;
Bootsector* bootSector;
- bool mangledSymbols;
- bool underscoreSymbols;
bool isUnicode;
bool isDefaultEntryPoint;
Bootstrap* bootstrap;
bool isCRT;
std::string CRT;
bool dynamicCRT;
+ std::string installbase;
FileLocation *output; // "path/foo.exe"
FileLocation *dependency; // "path/foo.exe" or "path/libfoo.a"
FileLocation *install;
bool IsDLL () const;
std::string GetPathWithPrefix ( const std::string& prefix ) const; // "path/prefixfoo.exe"
std::string GetPathToBaseDir() const; // "../" offset to rootdirectory
- std::string GetEntryPoint(bool leadingUnderscore) const;
+ std::string GetEntryPoint() const;
void GetTargets ( string_list& ) const;
std::string GetInvocationTarget ( const int index ) const;
bool HasFileWithExtension ( const IfableData&, const std::string& extension ) const;
void InvokeModule () const;
void ProcessXML ();
std::string GetDllName() const;
+ SpecFileType IsSpecDefinitionFile () const;
private:
void SetImportLibrary ( ImportLibrary* importLibrary );
void SetDelayImportLibrary ( ImportLibrary* importLibrary );
public:
FileLocation *source;
FileLocation *target;
+ std::string installbase;
InstallFile ( const Project& project,
const XMLElement& bootstrapNode,
extern std::string
ToLower ( std::string filename );
-
-#endif /* __RBUILD_H */