MinGW를 사용해 openssl 0.9.8r을 빌드하려고 했는데,
Win32의 include 경로가 제대로 잡히지 않는지 make 단계에서 에러가 발생한다.
결국 기존의 방식대로 ActivePerl과 MS C Compiler를 사용해 빌드하기로 했다.
OpenSSL의 Config은 Perl 스크립트로 되어있고,
MS-WIN32라는 환경 프리셋을 제공하므로,
Perl만 사용할 수 있으면 Win32에서 빌드할 수 있다.
(Perl에는 지식이 없지만, 아마 이런 스크립트들은 모두 Perl로 되어있으리라 추정한다.)
1. MS Visual Studio가 설치되어 있어야 한다.
2. ActivePerl을 다운받고 설치한다.
http://www.activestate.com/
다른 Perl 도구가 있으면 사용해도 되겠다.
3. OpenSSL의 소스를 다운받고 적당한 곳에 압축을 푼다. (여기에선 C:\W32Build 아래에)
4. 커맨드 프롬프트 창을 연다.
5. MS Visual Studio 개발 환경의 환경변수가 모두 지정되어 있지 않다면,
아래와 같은 배치명령어로 환경변수를 등록한다.
VC6 : C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT
VC9 : C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
6. OpenSSL의 소스가 있는 곳으로 가서 Configure를 실행한다.
C:\W32Build\openssl-0.9.8k>perl Configure VC-WIN32 --openssldir=C:\OpenSSL
Configure는 순식간에 끝난다.
7. 성능을 높이기 위해 MS assembler(MASM)을 사용하려면,
아래 사이트에서 MASM32 SDK를 다운받고 설치한다.
http://www.masm32.com/
8. 이제 Make 파일을 만든다.
어셈블러 코드를 포함한 Make 파일을 만드려면
C:\W32Build\openssl-0.9.8k>ms\do_ms.bat
모두 C 코드로 빌드하는 Make 파일을 만드려면
C:\W32Build\openssl-0.9.8k>ms\do_msam.bat
을 실행한다.
그러면 ms\nt.mak와 ms\ntdll.mak가 생성된다.
9. nt.mak는 OpenSSL 프로그램을 빌드하고, ntdll.mak는 OpenSSL의 DLL을 빌드한다.
DLL을 빌드하려면,
nmake -f ms\ntdll.mak
을 실행하면 된다.
빌드된 파일들은 out32dll 폴더와 설정시 입력했던 C:\OpenSSL 폴더 아래에 있다.
Good luck!
출처: http://www.lovelgw.com/Blog/61
Win32의 include 경로가 제대로 잡히지 않는지 make 단계에서 에러가 발생한다.
결국 기존의 방식대로 ActivePerl과 MS C Compiler를 사용해 빌드하기로 했다.
OpenSSL의 Config은 Perl 스크립트로 되어있고,
MS-WIN32라는 환경 프리셋을 제공하므로,
Perl만 사용할 수 있으면 Win32에서 빌드할 수 있다.
(Perl에는 지식이 없지만, 아마 이런 스크립트들은 모두 Perl로 되어있으리라 추정한다.)
1. MS Visual Studio가 설치되어 있어야 한다.
2. ActivePerl을 다운받고 설치한다.
http://www.activestate.com/
다른 Perl 도구가 있으면 사용해도 되겠다.
3. OpenSSL의 소스를 다운받고 적당한 곳에 압축을 푼다. (여기에선 C:\W32Build 아래에)
4. 커맨드 프롬프트 창을 연다.
5. MS Visual Studio 개발 환경의 환경변수가 모두 지정되어 있지 않다면,
아래와 같은 배치명령어로 환경변수를 등록한다.
VC6 : C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT
VC9 : C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
6. OpenSSL의 소스가 있는 곳으로 가서 Configure를 실행한다.
C:\W32Build\openssl-0.9.8k>perl Configure VC-WIN32 --openssldir=C:\OpenSSL
Configure는 순식간에 끝난다.
7. 성능을 높이기 위해 MS assembler(MASM)을 사용하려면,
아래 사이트에서 MASM32 SDK를 다운받고 설치한다.
http://www.masm32.com/
8. 이제 Make 파일을 만든다.
어셈블러 코드를 포함한 Make 파일을 만드려면
C:\W32Build\openssl-0.9.8k>ms\do_ms.bat
모두 C 코드로 빌드하는 Make 파일을 만드려면
C:\W32Build\openssl-0.9.8k>ms\do_msam.bat
을 실행한다.
그러면 ms\nt.mak와 ms\ntdll.mak가 생성된다.
9. nt.mak는 OpenSSL 프로그램을 빌드하고, ntdll.mak는 OpenSSL의 DLL을 빌드한다.
DLL을 빌드하려면,
nmake -f ms\ntdll.mak
을 실행하면 된다.
빌드된 파일들은 out32dll 폴더와 설정시 입력했던 C:\OpenSSL 폴더 아래에 있다.
Good luck!
출처: http://www.lovelgw.com/Blog/61