mirror of
https://github.com/php/php-src.git
synced 2024-11-25 02:44:58 +08:00
- Embryonic project file generation. Use buildconf --add-project-files and hopefully it'll work.
- Please read the README before complaining. @Stas, Rob - please test.
This commit is contained in:
parent
767eaa7a4e
commit
208d851444
38
win32/build/DSP.README
Normal file
38
win32/build/DSP.README
Normal file
@ -0,0 +1,38 @@
|
||||
MSVC++ project file generation
|
||||
==============================
|
||||
|
||||
The project files generated by projectgen.js are in no way intended
|
||||
for building with. There is already a perfectly good Windows build
|
||||
system in place. These files are only intended for use in debugging
|
||||
and profiling, and are very unlikely to create working binaries.
|
||||
|
||||
With this in mind, the script will only generate basic .dsp files
|
||||
for the modules that are currently configured, and a single project
|
||||
workspace file to rule them all.
|
||||
|
||||
The switch for project file generation is a buildconf switch and
|
||||
not a configure switch:
|
||||
|
||||
> buildconf --add-project-files
|
||||
> configure ...
|
||||
|
||||
The resulting workspace file should appear at /win32/php.dsw after
|
||||
configure is run.
|
||||
|
||||
If the .dsw hasn't generated in a sane way, the most likely reason
|
||||
will be that the template files have become corrupted. They need DOS
|
||||
line endings (CR/LF) in order to function. The affected files are:
|
||||
|
||||
/win32/build/block.template.dsw
|
||||
/win32/build/template.dsp
|
||||
/win32/build/template.dsw
|
||||
|
||||
Simply save them with DOS line endings, and bug it to me if basic
|
||||
project file generation still fails (as in, you ran the command and
|
||||
configure again after saving, and you have a working copy of MSVS
|
||||
installed, but clicking on the workspace doesn't give you anything).
|
||||
|
||||
- Steph
|
||||
sfox@php.net
|
||||
|
||||
July 2008
|
14
win32/build/block.template.dsw
Normal file
14
win32/build/block.template.dsw
Normal file
@ -0,0 +1,14 @@
|
||||
Project: "EXTNAME"=..\ADDRESS - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name main
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
@ -16,13 +16,14 @@
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
/* $Id: buildconf.js,v 1.13.2.2.2.1.2.2 2008-06-23 07:55:03 pajoye Exp $ */
|
||||
/* $Id: buildconf.js,v 1.13.2.2.2.1.2.3 2008-07-09 08:15:46 sfox Exp $ */
|
||||
// This generates a configure script for win32 build
|
||||
|
||||
WScript.StdOut.WriteLine("Rebuilding configure.js");
|
||||
var FSO = WScript.CreateObject("Scripting.FileSystemObject");
|
||||
var C = FSO.CreateTextFile("configure.js", true);
|
||||
var B = FSO.CreateTextFile("configure.bat", true);
|
||||
var DSP = false;
|
||||
|
||||
var modules = "";
|
||||
var MODULES = WScript.CreateObject("Scripting.Dictionary");
|
||||
@ -203,6 +204,11 @@ function buildconf_process_args()
|
||||
WScript.StdOut.WriteLine("Adding " + argval + " to the module search path");
|
||||
module_dirs[module_dirs.length] = argval;
|
||||
}
|
||||
|
||||
if (argname == '--add-project-files') {
|
||||
WScript.StdOut.WriteLine("Adding dsp templates into the mix");
|
||||
DSP = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -212,6 +218,16 @@ buildconf_process_args();
|
||||
C.WriteLine("/* This file automatically generated from win32/build/confutils.js */");
|
||||
C.Write(file_get_contents("win32/build/confutils.js"));
|
||||
|
||||
// If project files were requested, pull in the code to generate them
|
||||
if (DSP == true) {
|
||||
C.WriteLine('PHP_DSP="yes"');
|
||||
C.WriteBlankLines(1);
|
||||
C.Write(file_get_contents("win32/build/projectgen.js"));
|
||||
} else {
|
||||
C.WriteLine('PHP_DSP="no"');
|
||||
C.WriteBlankLines(1);
|
||||
}
|
||||
|
||||
// Pull in code from sapi and extensions
|
||||
modules = file_get_contents("win32/build/config.w32");
|
||||
|
||||
|
@ -364,3 +364,10 @@ if (PHP_SNAPSHOT_TEMPLATE == "no") {
|
||||
DEFINE('SNAPSHOT_TEMPLATE', PHP_SNAPSHOT_TEMPLATE);
|
||||
|
||||
ARG_ENABLE('summary', 'Enable configuration summary', 'yes');
|
||||
|
||||
if (PHP_DSP != "no") {
|
||||
if (FSO.FolderExists("tmp")) {
|
||||
FSO.DeleteFolder("tmp");
|
||||
}
|
||||
FSO.CreateFolder("tmp");
|
||||
}
|
||||
|
@ -17,7 +17,7 @@
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
// $Id: confutils.js,v 1.60.2.1.2.8.2.22 2008-07-07 13:51:35 pajoye Exp $
|
||||
// $Id: confutils.js,v 1.60.2.1.2.8.2.23 2008-07-09 08:15:46 sfox Exp $
|
||||
|
||||
var STDOUT = WScript.StdOut;
|
||||
var STDERR = WScript.StdErr;
|
||||
@ -26,6 +26,7 @@ var FSO = WScript.CreateObject("Scripting.FileSystemObject");
|
||||
var MFO = null;
|
||||
var SYSTEM_DRIVE = WshShell.Environment("Process").Item("SystemDrive");
|
||||
var PROGRAM_FILES = WshShell.Environment("Process").Item("ProgramFiles");
|
||||
var DSP_FLAGS = new Array();
|
||||
|
||||
/* Store the enabled extensions (summary + QA check) */
|
||||
var extensions_enabled = new Array();
|
||||
@ -1039,6 +1040,10 @@ function SAPI(sapiname, file_list, makefiletarget, cflags, obj_dir)
|
||||
ADD_FLAG("SAPI_TARGETS", makefiletarget);
|
||||
}
|
||||
|
||||
if (PHP_DSP != "no") {
|
||||
generate_dsp_file(sapiname, configure_module_dirname, file_list, false);
|
||||
}
|
||||
|
||||
MFO.WriteBlankLines(1);
|
||||
sapi_enabled[sapi_enabled.length] = [sapiname];
|
||||
}
|
||||
@ -1203,6 +1208,11 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
|
||||
DEFINE('CFLAGS_' + EXT + '_OBJ', '$(CFLAGS_PHP) $(CFLAGS_' + EXT + ')');
|
||||
}
|
||||
ADD_FLAG("CFLAGS_" + EXT, cflags);
|
||||
|
||||
if (PHP_DSP != "no") {
|
||||
generate_dsp_file(extname, configure_module_dirname, file_list, shared);
|
||||
}
|
||||
|
||||
extensions_enabled[extensions_enabled.length] = [extname, shared ? 'shared' : 'static'];
|
||||
}
|
||||
|
||||
@ -1449,10 +1459,20 @@ function generate_files()
|
||||
}
|
||||
}
|
||||
|
||||
if (PHP_DSP != "no") {
|
||||
generate_dsp_file("TSRM", "TSRM", null, false);
|
||||
generate_dsp_file("Zend", "Zend", null, false);
|
||||
generate_dsp_file("win32", "win32", null, false);
|
||||
generate_dsp_file("main", "main", null, false);
|
||||
generate_dsp_file("streams", "main\\streams", null, false);
|
||||
generate_dsp_flags();
|
||||
}
|
||||
|
||||
STDOUT.WriteLine("Generating files...");
|
||||
generate_makefile();
|
||||
generate_internal_functions();
|
||||
generate_config_h();
|
||||
|
||||
STDOUT.WriteLine("Done.");
|
||||
STDOUT.WriteBlankLines(1);
|
||||
write_summary();
|
||||
@ -1577,6 +1597,12 @@ function ADD_FLAG(name, flags, target)
|
||||
configure_subst.Remove(name);
|
||||
}
|
||||
configure_subst.Add(name, flags);
|
||||
|
||||
if (PHP_DSP != "no") {
|
||||
if (flags && (name.substr(name.length-3) != "PHP") && (name.substr(0, 7) == "CFLAGS_")) {
|
||||
DSP_FLAGS[DSP_FLAGS.length] = new Array(name, flags);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function get_define(name)
|
||||
|
185
win32/build/projectgen.js
Normal file
185
win32/build/projectgen.js
Normal file
@ -0,0 +1,185 @@
|
||||
function write_src_file(fname, arr)
|
||||
{
|
||||
var src = FSO.CreateTextFile(fname, true);
|
||||
|
||||
for (i = 0; i < arr.length; i++) {
|
||||
if (arr[i].length > 1) {
|
||||
src.WriteLine("# Begin Source File");
|
||||
src.WriteLine("SOURCE=" + arr[i]);
|
||||
src.WriteLine("# End Source File");
|
||||
src.WriteBlankLines(1);
|
||||
}
|
||||
}
|
||||
src.Close();
|
||||
return;
|
||||
}
|
||||
|
||||
function copy_dsp_files() {
|
||||
var tmp = FSO.GetFolder("tmp");
|
||||
var core = "TSRM Zend main streams win32 standard";
|
||||
var tmpl = file_get_contents("win32\\build\\template.dsw");
|
||||
|
||||
f = new Enumerator(tmp.Files);
|
||||
blocks = "";
|
||||
for (; !f.atEnd(); f.moveNext()) {
|
||||
contents = file_get_contents(f.item());
|
||||
address = contents.slice(0, contents.indexOf("#"));
|
||||
contents = contents.slice(contents.indexOf("#"));
|
||||
dsp = FSO.CreateTextFile(address, true);
|
||||
dsp.Write(contents);
|
||||
dsp.Close();
|
||||
ext = address.slice(address.lastIndexOf("\\")+1, address.length-4);
|
||||
if (!core.match(ext)) {
|
||||
blocks += file_get_contents("win32\\build\\block.template.dsw");
|
||||
blocks = blocks.replace("ADDRESS", address);
|
||||
blocks = blocks.replace("EXTNAME", ext);
|
||||
}
|
||||
FSO.DeleteFile(f.item());
|
||||
}
|
||||
tmpl = tmpl.replace("INSERT", blocks);
|
||||
dsw = FSO.CreateTextFile("win32\\php.dsw", true);
|
||||
dsw.Write(tmpl);
|
||||
dsw.Close();
|
||||
FSO.DeleteFolder("tmp");
|
||||
}
|
||||
|
||||
function generate_dsp_flags()
|
||||
{
|
||||
for (i = 0; i < DSP_FLAGS.length; i++) {
|
||||
name = DSP_FLAGS[i][0];
|
||||
if (DSP_FLAGS.length == i+1 || name != DSP_FLAGS[i+1][0]) {
|
||||
ext = name.substr(7).toLowerCase();
|
||||
src = file_get_contents("tmp\\" + ext + ".dsp");
|
||||
have = "/D HAVE_" + ext.toUpperCase() + "=1";
|
||||
src = src.replace(have, have + " " + DSP_FLAGS[i][1]);
|
||||
dsp = FSO.CreateTextFile("tmp\\" + ext + ".dsp", true);
|
||||
dsp.Write(src);
|
||||
dsp.Close();
|
||||
}
|
||||
}
|
||||
copy_dsp_files();
|
||||
return;
|
||||
}
|
||||
|
||||
function generate_dsp_filelist(ext, ext_dir, files)
|
||||
{
|
||||
var EXT = ext.toUpperCase();
|
||||
var tabs = new RegExp("[\t\r\n\'\"]", "gm");
|
||||
var ws = new RegExp("\\s+", "g");
|
||||
var dir = FSO.GetFolder(ext_dir);
|
||||
var headers = "";
|
||||
|
||||
if (!files) {
|
||||
files = "";
|
||||
f = new Enumerator(dir.Files);
|
||||
for (; !f.atEnd(); f.moveNext()) {
|
||||
name = FSO.GetFileName(f.item());
|
||||
if (name.substr(name.length-2) == ".c") {
|
||||
files += " ./" + name;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
files = files.replace(tabs, "");
|
||||
files = "./" + files.replace(/ /g, " ./");
|
||||
}
|
||||
DSP_SOURCES = files.split(" ");
|
||||
|
||||
f = new Enumerator(dir.Files);
|
||||
for (; !f.atEnd(); f.moveNext()) {
|
||||
name = FSO.GetFileName(f.item());
|
||||
if (name.substr(name.length-2) == ".h") {
|
||||
headers += " ./" + name;
|
||||
}
|
||||
}
|
||||
DSP_HEADERS = headers.split(" ");
|
||||
|
||||
configfile = FSO.BuildPath(ext_dir, "config.w32");
|
||||
if (FSO.FileExists(configfile)) {
|
||||
config = file_get_contents(configfile);
|
||||
if (config.match("ADD_SOURCES")) {
|
||||
sources = new RegExp("ADD_SOURCES\\([^,]*\\s*,\\s*['\"]([^'\"]+)['\"].*\\)", "gm");
|
||||
arr = config.match(sources);
|
||||
line = arr[0].replace(tabs, "");
|
||||
newarr = line.split(',');
|
||||
orig_path = newarr[0].replace("ADD_SOURCES(", "");
|
||||
munged_dir = ext_dir.replace(/\\/g, '/');
|
||||
orig_path = orig_path.replace("configure_module_dirname", munged_dir);
|
||||
orig_path = orig_path.replace(" + ", "");
|
||||
path = orig_path.replace(munged_dir + '/', "");
|
||||
|
||||
if (path.length > 0) {
|
||||
subdir = FSO.GetFolder(orig_path);
|
||||
lib = new Enumerator(subdir.Files);
|
||||
libheaders = "";
|
||||
for (; !lib.atEnd(); lib.moveNext()) {
|
||||
name = FSO.GetFileName(lib.item());
|
||||
if (name.substr(name.length-2) == ".h") {
|
||||
libheaders += " ./" + path + "/" + name;
|
||||
}
|
||||
}
|
||||
DSP_HEADERS = DSP_HEADERS.concat(libheaders.split(" "));
|
||||
}
|
||||
|
||||
sources = newarr[1].replace(/\\/g, "");
|
||||
sources = sources.replace(ws, " ");
|
||||
path = path ? " ./" + path + "/" : " ./";
|
||||
sources = sources.replace(/ /g, path);
|
||||
DSP_SOURCES = DSP_SOURCES.concat(sources.split(" "));
|
||||
}
|
||||
}
|
||||
write_src_file("tmp\\" + ext + ".headers.tmp", DSP_HEADERS);
|
||||
write_src_file("tmp\\" + ext + ".sources.tmp", DSP_SOURCES);
|
||||
return;
|
||||
}
|
||||
|
||||
function generate_dsp_file(ext, ext_dir, files, shared)
|
||||
{
|
||||
var dsp = FSO.CreateTextFile("tmp\\" + ext + ".dsp", true);
|
||||
var tmpl = file_get_contents("win32\\build\\template.dsp");
|
||||
var EXT = ext.toUpperCase();
|
||||
|
||||
tmpl = ext_dir + "\\" + ext + ".dsp" + tmpl;
|
||||
|
||||
extname = new RegExp("extname", "gm");
|
||||
EXTNAME = new RegExp("EXTNAME", "gm");
|
||||
tmpl = tmpl.replace(extname, ext);
|
||||
tmpl = tmpl.replace(EXTNAME, EXT);
|
||||
|
||||
status = PHP_DEBUG == "no" ? 'Release' : 'Debug';
|
||||
STATUS = new RegExp("Status", "gm");
|
||||
tmpl = tmpl.replace(STATUS, status);
|
||||
|
||||
if (PHP_ZTS == "no") {
|
||||
zts = new RegExp("_TS", "gmi");
|
||||
tmpl = tmpl.replace(zts, '');
|
||||
}
|
||||
|
||||
if (PHP_DEBUG != "no") {
|
||||
tmpl = tmpl.replace(/Use_Debug_Libraries 0/g, "Use_Debug_Libraries 1");
|
||||
tmpl = tmpl.replace(/NDEBUG/g, "_DEBUG");
|
||||
}
|
||||
|
||||
cflags = get_define("CFLAGS").replace("$(BASE_INCLUDES)", '/I "..\\.." /I "..\\..\\..\\Zend" /I "..\\..\\TSRM" /I "..\\..\\main" ');
|
||||
basecpp = cflags = cflags.replace('/I "..\\bindlib_w32"', '/I "..\\..\\..\\bindlib_w32"');
|
||||
if (shared) {
|
||||
basecpp += " /D COMPILE_DL_" + EXT;
|
||||
}
|
||||
tmpl = tmpl.replace("BASECPP", basecpp);
|
||||
tmpl = tmpl.replace("BASECPP", cflags + " /D HAVE_" + EXT + "=1");
|
||||
tmpl = tmpl.replace(/BASELIBS/g, get_define("LIBS"));
|
||||
tmpl = tmpl.replace("LOCALLIBS", get_define("PHPLIB"));
|
||||
debug = PHP_DEBUG != "no" ? " /debug" : "";
|
||||
dll = shared ? ' /dll /out:"..\\..\\Debug_TS\\php_' + ext + '.dll"' : "";
|
||||
tmpl = tmpl.replace(/BASELDFLAGS/g, "/nologo" + debug + dll);
|
||||
|
||||
generate_dsp_filelist(ext, ext_dir, files);
|
||||
sources = file_get_contents("tmp\\" + ext + ".sources.tmp");
|
||||
tmpl = tmpl.replace("SOURCEFILES", sources);
|
||||
FSO.DeleteFile("tmp\\" + ext + ".sources.tmp");
|
||||
headers = file_get_contents("tmp\\" + ext + ".headers.tmp");
|
||||
tmpl = tmpl.replace("HEADERFILES", headers);
|
||||
FSO.DeleteFile("tmp\\" + ext + ".headers.tmp");
|
||||
dsp.Write(tmpl);
|
||||
dsp.Close();
|
||||
return;
|
||||
}
|
75
win32/build/template.dsp
Normal file
75
win32/build/template.dsp
Normal file
@ -0,0 +1,75 @@
|
||||
# Microsoft Developer Studio Project File - Name="extname" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||
|
||||
CFG=extname - Win32 Status_TS
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "extname.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "extname.mak" CFG="extname - Win32 Status_TS"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "extname - Win32 Status_TS" (based on "Win32 (x86) Dynamic-Link Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Status_TS"
|
||||
# PROP BASE Intermediate_Dir "Status_TS"
|
||||
# PROP BASE Ignore_Export_Lib 0
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Status_TS"
|
||||
# PROP Intermediate_Dir "Status_TS"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP BASECPP
|
||||
# ADD CPP BASECPP
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 BASELIBS BASELDFLAGS /libpath:"..\..\Status_TS" /libpath:"..\..\..\bindlib_w32\Status"
|
||||
# ADD LINK32 LOCALLIBS BASELIBS BASELDFLAGS /libpath:"..\..\Status_TS" /libpath:"..\..\..\bindlib_w32\Status"
|
||||
|
||||
# Begin Target
|
||||
# Name "extname - Win32 Status_TS"
|
||||
|
||||
# Begin Group "Source Files"
|
||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||
|
||||
SOURCEFILES
|
||||
# End Group
|
||||
|
||||
# Begin Group "Header Files"
|
||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||
|
||||
HEADERFILES
|
||||
# End Group
|
||||
|
||||
# Begin Group "Resource Files"
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
116
win32/build/template.dsw
Normal file
116
win32/build/template.dsw
Normal file
@ -0,0 +1,116 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "TSRM"=..\TSRM\TSRM.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Zend"=..\Zend\Zend.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name TSRM
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "win32"=.\win32.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "main"=..\main\main.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Zend
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name TSRM
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name win32
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "streams"=..\main\streams\streams.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name Zend
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name TSRM
|
||||
End Project Dependency
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name win32
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "standard"=..\ext\standard\standard.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
Begin Project Dependency
|
||||
Project_Dep_Name main
|
||||
End Project Dependency
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
INSERT
|
||||
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
Loading…
Reference in New Issue
Block a user