# win32 build system and VS .NET

- Thread: https://externals.io/message/6759
- Original archive: https://news-web.php.net/php.internals/6759
- Started by Daniel Convissor on 2004-01-03T04:23:47+00:00
- Messages: 5
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #6759 — Daniel Convissor — 2004-01-03T04:23:47+00:00

URL: https://externals.io/message/6759#6759

Greetings:

I obtained a copy of Visual Studio .NET and tried to build PHP 5 from the 
current source.  Ran into some problems when it came to the configure.js 
step.  Here are the steps I took...

Start VS .NET command prompt

mkdir php5
mkdir php5\win32
mkdir php5\win32\build

[Obtain zip from http://www.php.net/extra/win32build.zip]
unzip f:\php\win32build--2004.01.02.zip -d php5

cvs -d :pserver:cvsread@cvs.php.net:/repository co -d php5\bindlib_w32 
   bindlib_w32

cvs -d :pserver:cvsread@cvs.php.net:/repository co -d phpbuild
   php-src/win32/build
xcopy phpbuild php5\win32\build

cvs -d :pserver:cvsread@cvs.php.net:/repository co -d php5 php-src

cd php5
buildconf.bat
cscript /nologo configure.js --without-gd --without-libxml --disable-zlib
   --without-iconv

Saving configure options to config.nice.bat
Checking for cl.exe ...  <in default path>
Checking for link.exe ...  <in default path>
Checking for nmake.exe ...  <in default path>
Checking for lib.exe ...  <in default path>
Checking for bison.exe ...  <not found>
Checking for flex.exe ...  <not found>
Checking for re2c.exe ...  <not found>
Checking for zip.exe ...  <in default path>
Checking for lemon.exe ...  <not found>
Checking for arpa\nameser.h ...  <not found>
Checking for arpa\nameser.h ...  <not found>
ERROR: We really need that arpa\nameser.h file - it is part of the
   win32build package


So, it looks like Visual Studio .NET isn't going to cut it, huh?

Also, what's up with arpa\namser.h not being found?

--Dan

-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
 4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335 f: 718-854-0409

---

## #6760 — Jon Parise — 2004-01-03T04:49:59+00:00

URL: https://externals.io/message/6759#6760 · In reply to: #6759

> I obtained a copy of Visual Studio .NET and tried to build PHP 5 from the 
> current source.  Ran into some problems when it came to the configure.js 
> step.  Here are the steps I took...

[...]

> cvs -d :pserver:cvsread@cvs.php.net:/repository co -d php5\bindlib_w32 
>    bindlib_w32
 
cvs -d :pserver:cvsread@cvs.php.net:/repository co bindlib_w32

(e.g. parallel to the php5 directory)

> cvs -d :pserver:cvsread@cvs.php.net:/repository co -d php5 php-src

cvs -d :pserver:cvsread@cvs.php.net:/repository co php5

The 'php5' module alias will ensure that ZendEngine2 is checked out
into the 'Zend' directory.
 
> So, it looks like Visual Studio .NET isn't going to cut it, huh?
 
It works fine for me.  I've been using it all day (building on the
command line and debugging in the IDE).

-- 
Jon Parise (jon@php.net) :: The PHP Project (http://www.php.net/)

---

## #6766 — Steph — 2004-01-03T11:36:25+00:00

URL: https://externals.io/message/6759#6766 · In reply to: #6759

As Jon suggested, taking bindlib_w32 from CVS rather than from the build zip
makes more sense.  1. the build zip isn't up to date unless someone fixed
this over the past week, 2. the bindlib_w32 dir should be at the top level.

> -----Original Message-----
> From: Daniel Convissor [mailto:danielc@analysisandsolutions.com]
> Sent: 03 January 2004 04:24
> To: PHP Internals List
> Subject: [PHP-DEV] win32 build system and VS .NET
>
>
> Greetings:
>
> I obtained a copy of Visual Studio .NET and tried to build PHP 5 from the
> current source.  Ran into some problems when it came to the configure.js
> step.  Here are the steps I took...
>
> Start VS .NET command prompt
>
> mkdir php5
> mkdir php5\win32
> mkdir php5\win32\build
>
> [Obtain zip from http://www.php.net/extra/win32build.zip]
> unzip f:\php\win32build--2004.01.02.zip -d php5
>
> cvs -d :pserver:cvsread@cvs.php.net:/repository co -d php5\bindlib_w32
>    bindlib_w32
>
> cvs -d :pserver:cvsread@cvs.php.net:/repository co -d phpbuild
>    php-src/win32/build
> xcopy phpbuild php5\win32\build
>
> cvs -d :pserver:cvsread@cvs.php.net:/repository co -d php5 php-src
>
> cd php5
> buildconf.bat
> cscript /nologo configure.js --without-gd --without-libxml --disable-zlib
>    --without-iconv
>
> Saving configure options to config.nice.bat
> Checking for cl.exe ...  <in default path>
> Checking for link.exe ...  <in default path>
> Checking for nmake.exe ...  <in default path>
> Checking for lib.exe ...  <in default path>
> Checking for bison.exe ...  <not found>
> Checking for flex.exe ...  <not found>
> Checking for re2c.exe ...  <not found>
> Checking for zip.exe ...  <in default path>
> Checking for lemon.exe ...  <not found>
> Checking for arpa\nameser.h ...  <not found>
> Checking for arpa\nameser.h ...  <not found>
> ERROR: We really need that arpa\nameser.h file - it is part of the
>    win32build package
>
>
> So, it looks like Visual Studio .NET isn't going to cut it, huh?
>
> Also, what's up with arpa\namser.h not being found?
>
> --Dan
>
> --
>  T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
>             data intensive web and database programming
>                 http://www.AnalysisAndSolutions.com/
>  4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335 f: 718-854-0409

---

## #6773 — Daniel Convissor — 2004-01-03T17:20:19+00:00

URL: https://externals.io/message/6759#6773 · In reply to: #6760

Hi Everyone:

Thanks for the suggestions.  I'm still not there.  I tad more help will be 
appreciated, please.  First I'll reply to your points then supply the 
latest list of commands I tried.



> 
> 
> > […]
>  
> cvs -d :pserver:cvsread@cvs.php.net:/repository co bindlib_w32
> (e.g. parallel to the php5 directory)

Hmm...  Then what's the purpose of the bindlib_w32 subdirectories in the 
php-src tree?  Should be removed from CVS for clarity?


> > […]
>  
> It works fine for me.  I've been using it all day (building on the
> command line and debugging in the IDE).

Have you ever installed an earlier version of Visual Studio or header 
files from somewhere else too?  Doing the
"cscript /nologo configure.js..." step for me complains, in part, about
mscoree.h being missing.



> 
> Looks like you need to get the resolv.lib replacement
> and win32 buildtools at
> http://www.php.net/manual/en/install.windows.php#install.windows.build.

Isn't that what I did?



> 
> Have you configured VC to look for the bin, lib, and
> include directories in the win32build folder?

Nope.  This looks like an important step that I'm missing.  I trust I can
append those to the appropriate environment variable using the command
line.  What's the environment variable in question, please?



> As Jon suggested, taking bindlib_w32 from CVS rather than from the build zip
> makes more sense.  1. the build zip isn't up to date unless someone fixed
> this over the past week

I thought I did that.  Okay, so here's my latest attempt:

d:
cd \
mkdir php5

mkdir php5\win32
mkdir php5\win32\build
cvs -d :pserver:cvsread@cvs.php.net:/repository co -d phpbuild 
    php-src/win32/build
xcopy phpbuild php5\win32\build

cvs -d :pserver:cvsread@cvs.php.net:/repository co bindlib_w32
cvs -d :pserver:cvsread@cvs.php.net:/repository co php5

cd php5

lynx -dump http://www.php.net/extra/win32build.zip > win32build.zip
unzip win32build.zip

buildconf.bat
cscript /nologo configure.js --without-gd --without-libxml --disable-zlib
    --without-iconv

Which outputs...

Saving configure options to config.nice.bat
Checking for cl.exe ...  <in default path>
Checking for link.exe ...  <in default path>
Checking for nmake.exe ...  <in default path>
Checking for lib.exe ...  <in default path>
Checking for bison.exe ...  <not found>
Checking for flex.exe ...  <not found>
Checking for re2c.exe ...  <not found>
Checking for zip.exe ...  <in default path>
Checking for lemon.exe ...  <not found>
Checking for arpa\nameser.h ...  ..\bindlib_w32
Checking for resolv.lib ...  <not found>
Checking for Release\resolv.lib ...  <not found>
Checking for resolv.lib ...  <not found>

Build dir: Release_TS
PHP Core:  php5ts.dll and php5ts.lib

Checking for wspiapi.h ...  <in default path>
Enabling IPv6 support
Checking for NewAPIs.h ...  <in default path>
Enabling SAPI sapi\cgi
Enabling SAPI sapi\cli
Enabling extension ext\bcmath
Enabling extension ext\calendar
Checking for oleaut32.lib ...  <in default path>
Enabling extension ext\com_dotnet
Checking for mscoree.h ...  <not found>
Checking for mscoree.h ...  <not found>
Enabling extension ext\ctype
Enabling extension ext\ftp
Enabling extension ext\odbc
Enabling extension ext\pcre
Enabling extension ext\session
Enabling extension ext\sqlite
Enabling extension ext\standard
Enabling extension ext\tokenizer

Creating build dirs...
Generating files...
Generating Makefile
Generating main/internal_functions.c
Generating main/config.w32.h
Done.

Type 'nmake' to build PHP


Thanks again,

--Dan

-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
            data intensive web and database programming
                http://www.AnalysisAndSolutions.com/
 4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335 f: 718-854-0409

---

## #6780 — Jon Parise — 2004-01-03T22:16:38+00:00

URL: https://externals.io/message/6759#6780 · In reply to: #6773

> > […]
> 
> Hmm...  Then what's the purpose of the bindlib_w32 subdirectories in the 
> php-src tree?  Should be removed from CVS for clarity?
 
They have been removed; those directories are empty.  Running 'cvs
update -P' will prune those empty directories from your local
checkout.
 
> > […]
> 
> Have you ever installed an earlier version of Visual Studio or header 
> files from somewhere else too?  Doing the
> "cscript /nologo configure.js..." step for me complains, in part, about
> mscoree.h being missing.
 
I'm running this version of the compiler:

    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86

I don't think I have any additional SDK's installed right now other
than the Microsoft .NET Framework, but I could be mistaken.  I've used
this machine for a lot of Windows-based development in the past.
 
> Checking for arpa\nameser.h ...  ..\bindlib_w32
> Checking for resolv.lib ...  <not found>
> Checking for Release\resolv.lib ...  <not found>
> Checking for resolv.lib ...  <not found>
 
You need to build resolv.lib if you're going to check out the
bindlib_w32 source directory.  The compiled library is not stored in
cvs.

-- 
Jon Parise (jon@php.net) :: The PHP Project (http://www.php.net/)
