| ~~ Licensed to the Apache Software Foundation (ASF) under one or more |
| ~~ contributor license agreements. See the NOTICE file distributed with |
| ~~ this work for additional information regarding copyright ownership. |
| ~~ The ASF licenses this file to You under the Apache License, Version 2.0 |
| ~~ (the "License"); you may not use this file except in compliance with |
| ~~ the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, software |
| ~~ distributed under the License is distributed on an "AS IS" BASIS, |
| ~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ~~ See the License for the specific language governing permissions and |
| ~~ limitations under the License. |
| ------ |
| Building Apache log4cxx with Microsoft Visual Studio |
| ------ |
| ------ |
| ------ |
| |
| Building Apache log4cxx with Microsoft Visual Studio |
| |
| *Preparation |
| |
| +----+ |
| unzip apr-1.2.11-win32-src.zip |
| rename apr-1.2.11 apr |
| unzip apr-util-1.2.10-win32-src.zip |
| rename apr-util-1.2.10 apr-util |
| cd apache-log4cxx-0.10.0 |
| configure |
| configure-aprutil |
| +----+ |
| |
| configure.bat copies the prefabricated log4cxx.hw and private/log4cxx_private.hw over |
| to log4cxx.h and private/log4cxx_private.h. |
| |
| configure-aprutil.bat uses "sed" to modify apu.hw and apr_ldap.hw to disable APR-Iconv |
| and LDAP which are not necessary for log4cxx and problematic to build. |
| If "sed" is not available, the modifications would be trivial to do in any text editor. |
| |
| Use the Win32 source zips for APR and APR-Util to preserve the required line endings |
| for the project files. Directories need to be renamed to "apr" and "apr-util" respectively. |
| |
| |
| |
| *Building log4cxx.dll |
| |
| Open projects/log4cxx.dsw with Microsoft |
| Visual Studio 6 or later at which time you may be prompted to |
| upgrade the projects to the format used by your version |
| of Microsoft Visual Studio. |
| |
| Select log4cxx as active project and build. |
| |
| |
| *Running unit tests |
| |
| To pass the unit tests, gzip, zip and sed must be on the path. |
| Also three |
| environment variables need to be defined: TOTO=wonderful, |
| key1=value1 and key2=value2. These must be done outside |
| of Microsoft Visual Studio, either in the Control Panel or |
| in a Command Prompt uses to launch Microsoft Visual Studio. |
| |
| Open projects/testsuite.dsw or projects/testsuite-standalone.dsw |
| (test suite and implementation in one project) in Microsoft Visual |
| Studio, select active project and build. |
| |
| On the Debug Tab of the Project/Settings dialog, |
| set the Working Directory to "../src/test/resources". |
| Individual tests can be specified in Program Arguments |
| and "-v" can be specified to output verbose test results. |
| |
| |
| *Known Issues |
| |
| *APR 1.2.12 has a known issue that will prevent |
| compilation with Visual Studio 6 unless a later Platform SDK is installed. |
| See APR bug {{{http://issues.apache.org/bugzilla/show_bug.cgi?44327}44327}}. |
| APR 1.2.11 and the corresponding APR-Util 1.2.10 will compile with Visual Studio 6. |
| |
| *APR-Util requires later LDAP headers than provided with Visual Studio 6 |
| and will fail to compile. log4cxx does not use LDAP, it can be disabled in apr_ldap.hw. |
| |
| *APR-Iconv is problematic and not used by log4cxx, it can be disabled in apu.hw. |