1*6236dae4SAndroid Build Coastguard WorkerPrerequirement 2*6236dae4SAndroid Build Coastguard Worker============== 3*6236dae4SAndroid Build Coastguard WorkerThis document describes how to compile, build and install curl and libcurl 4*6236dae4SAndroid Build Coastguard Workerfrom sources using mk. To build it, you will require to install latest 5*6236dae4SAndroid Build Coastguard Worker9legacy patches into Plan 9. Also Plan 9 still have no configuration option so 6*6236dae4SAndroid Build Coastguard Workerboth zlib and libopenssl are required too. 7*6236dae4SAndroid Build Coastguard Worker 8*6236dae4SAndroid Build Coastguard WorkerThe zlib that is available on Plan 9 can be downloaded from: 9*6236dae4SAndroid Build Coastguard Worker 10*6236dae4SAndroid Build Coastguard Worker https://github.com/madler/zlib/pull/398 11*6236dae4SAndroid Build Coastguard Worker 12*6236dae4SAndroid Build Coastguard WorkerLibreSSL Portable can be downloaded from: 13*6236dae4SAndroid Build Coastguard Worker 14*6236dae4SAndroid Build Coastguard Worker https://github.com/libressl-portable/portable/pull/510 15*6236dae4SAndroid Build Coastguard Worker 16*6236dae4SAndroid Build Coastguard WorkerInstruction 17*6236dae4SAndroid Build Coastguard Worker=========== 18*6236dae4SAndroid Build Coastguard WorkerFirst, you should construct namespace as like described below: 19*6236dae4SAndroid Build Coastguard Worker 20*6236dae4SAndroid Build Coastguard Worker% bind -ac ../lib lib 21*6236dae4SAndroid Build Coastguard Worker% bind -ac ../src src 22*6236dae4SAndroid Build Coastguard Worker% bind -ac ../include include 23*6236dae4SAndroid Build Coastguard Worker% bind -ac .. . 24*6236dae4SAndroid Build Coastguard Worker 25*6236dae4SAndroid Build Coastguard WorkerThen you will see as shown below (excerpt): 26*6236dae4SAndroid Build Coastguard Worker 27*6236dae4SAndroid Build Coastguard Worker curl.git/ 28*6236dae4SAndroid Build Coastguard Worker |_plan9 29*6236dae4SAndroid Build Coastguard Worker | |_BUILD.PLAN9.txt 30*6236dae4SAndroid Build Coastguard Worker | |_CHANGES 31*6236dae4SAndroid Build Coastguard Worker | |_CMake 32*6236dae4SAndroid Build Coastguard Worker | | : 33*6236dae4SAndroid Build Coastguard Worker | |_mkfile 34*6236dae4SAndroid Build Coastguard Worker | |_mkfile.proto 35*6236dae4SAndroid Build Coastguard Worker | |_include 36*6236dae4SAndroid Build Coastguard Worker | | |_Makefile.am 37*6236dae4SAndroid Build Coastguard Worker | | | : 38*6236dae4SAndroid Build Coastguard Worker | | |_mkfile 39*6236dae4SAndroid Build Coastguard Worker | |_lib 40*6236dae4SAndroid Build Coastguard Worker | | |_CMakeLists.txt 41*6236dae4SAndroid Build Coastguard Worker | | | : 42*6236dae4SAndroid Build Coastguard Worker | | |_mkfile 43*6236dae4SAndroid Build Coastguard Worker | | |_mkfile.inc 44*6236dae4SAndroid Build Coastguard Worker | |_src 45*6236dae4SAndroid Build Coastguard Worker | | |_CMakeLists.txt 46*6236dae4SAndroid Build Coastguard Worker | | | : 47*6236dae4SAndroid Build Coastguard Worker | | |_mkfile 48*6236dae4SAndroid Build Coastguard Worker | | |_mkfile.inc 49*6236dae4SAndroid Build Coastguard Worker |_lib 50*6236dae4SAndroid Build Coastguard Worker |_src 51*6236dae4SAndroid Build Coastguard Worker 52*6236dae4SAndroid Build Coastguard WorkerAfter constructing namespace, you can run mk on plan9 directory. 53*6236dae4SAndroid Build Coastguard Worker 54*6236dae4SAndroid Build Coastguard Worker% mk 55*6236dae4SAndroid Build Coastguard Worker% mk install 56