vs2019整合Subversion源码记录(含httpd)

本文档详述了如何在Windows 10环境下,使用Visual Studio 2019编译Subversion及httpd源码,包括编译环境设置、依赖库的安装、编译步骤和测试过程。编译过程中涉及Python、Perl、SQLite、apr、openssl等库,以及httpd和Subversion的配置与测试。
摘要由CSDN通过智能技术生成

概述

Subversion编译尝试了vs2015、vs2019、vs2022,最终vs2019编译顺利通过,vs2015和vs2022均有编译格式类型错误。安装本文档编译请首选vs2019工具。

Subversion编译主题分两大部分,基于svn服务器的发布方式【svnserver -d -r d:/svn 命令方式发布】和基于apache服务发布,两种方式分别针对svn协议访问和http协议访问。

注:apache和httpd是同一工具的不同叫法,文档下文均以httpd标识。

Apache和subversion编译均需要apr系列库和openssl库支持,本文档优先编译的httpd,再编译subversion,再编译httpd与subversion交互的支撑模块apache serf,最后copy二进制文件,生成可执行程序。

本文档编译完成的subversion和httpd【含serf模块】均为可执行文件,编译过程可能存在不规范之处【例如手动copy文件,手动修改文件名称,修改编译文件等】,主要原因及问题包括两方面,一方便官方给出的编译文档不太严谨,二是libintl和apache serf这两个依赖库官方没有最新的文件。另外本文档并未生成msi文件,本文档针对windows操作系统。

Svn源码路径:https://svn.apache.org/repos/asf/subversion/trunk

全包下载地址:https://download.csdn.net/download/csdnyang338/87577105

编译环境

  • 操作系统:Win10 64位,

  • 编译工具:vs2019

  • SDK:C:\Program Files (x86)\Windows Kits\10

依赖项

依赖库版本详情请参看官方依赖。

【必选】Python 2.7.7

【必选】libxml2-python-2.7.7.win32-py2.7

【可选】scons-3.0.0-setup[用于编译serf做http访问支撑]

【必选】strawberry-perl-5.32.1.1-32bit

【必选】sqlite-autoconf-3410000

【必选】Awk.exe

【必选】NASM.exe

【可选】GNU libintl [用于编译serf做http访问支撑]

【必选】openssl-1.1.1l.tar.gz

【必选】apr-1.7.0.tar.gz

【必选】apr-util-1.6.1.tar.gz

【必选】zlib-1.2.11.tar.gz

【必选】libexpat-R_2_4_1.tar.gz

【可选】pcre-8.45.tar.gz [用于编译httpd]

【可选】brotli-1.0.9.tar.gz [用于编译httpd]

【可选】httpd-2.4.51.tar.gz [用于http访问]

【可选】serf-1.3.9 [用于http访问]

【可选】apr-iconv [用于http访问]

编译过程

准备工作

  1. 安装vs2019

  1. 安装python,并添加path环境变量

  1. 安装libxml2-python-2.7.7.win32-py2.7

  1. 安装scons-3.0.0-setup,并添加path环境变量

  1. 安装strawberry-perl-5.32.1.1-32bit .msi

  1. 下载源码https://svn.apache.org/repos/asf/subversion/trunk 优选从官方svn地址下载源码,官方的zib源码好像缺少点东西。检出源码命名为src-trunk。

  1. 下载awk.exe,在src-trunk同级目录下创建awk文件夹,并将awk.exe放入。

  1. 下载NASM,在src-trunk同级目录下创建NASM文件夹,并将NASM二进制文件放入。

  1. 将依赖库apr-1.7.0.tar.gz、apr-util-1.6.1.tar.gz、apr-iconv、openssl-1.1.1l.tar.gz、zlib-1.2.11.tar.gz、libexpat-R_2_4_1.tar.gz、pcre-8.45.tar.gz、brotli-1.0.9.tar.gz、httpd-2.4.51.tar.gz

、sqlite-autoconf-3410000、serf-1.3.9 、GNU libintl解压到src-trunk同级目录,并去掉版本号。

  1. 下载libintl,在src-trunk同级目录下创建libintl文件夹,并将libintl二进制文件放入。

  1. 下载apr-iconv,在src-trunk同级目录下创建apr-iconv文件夹,并将编译完成的apr-iconv文件放入。

开始编译h

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值