diff options
Diffstat (limited to 'win32/MinGW')
-rw-r--r-- | win32/MinGW/Makefile | 77 | ||||
-rw-r--r-- | win32/MinGW/Readme.txt | 27 |
2 files changed, 104 insertions, 0 deletions
diff --git a/win32/MinGW/Makefile b/win32/MinGW/Makefile new file mode 100644 index 0000000..f570e7d --- /dev/null +++ b/win32/MinGW/Makefile @@ -0,0 +1,77 @@ +# Makefile to compile uriparser with Mingw (4.2.1 for example). +# To use with mingw32-make.exe while running in cmd.exe +# +# Copyright (C) 2008, Michael Anthony Puls II <shadow2531@gmail.com> +# Copyright (C) 2008, Sebastian Pipping <webmaster@hartwork.org> +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above +# copyright notice, this list of conditions and the following +# disclaimer. +# +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials +# provided with the distribution. +# +# * Neither the name of the <ORGANIZATION> nor the names of its +# contributors may be used to endorse or promote products +# derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +# OF THE POSSIBILITY OF SUCH DAMAGE. +# + +CFLAGS = -Wall -Wextra -O3 -s + +TEST_DIR = ../../test +CPP_TEST_DIR = ../CppTest +LIB_DIR = ../../lib +INCLUDE_DIR = ../../include +WIN32_DIR = .. +CC = gcc +CXX = g++ +dos = $(subst /,\,$(1)) + +URIPARSER_OBJECTS := $(patsubst %.c,%.o,$(wildcard $(LIB_DIR)/*.c)) +TEST_OBJECTS := $(patsubst %.cpp,%.o,$(wildcard $(CPP_TEST_DIR)/*.cpp)) \ + $(patsubst %.cpp,%.o,$(wildcard $(TEST_DIR)/*.cpp)) +LIBRARY = $(WIN32_DIR)/liburiparser.a +TEST_SUITE = $(WIN32_DIR)/test.exe + +$(LIBRARY): $(URIPARSER_OBJECTS) + ar rcs $(LIBRARY) $(URIPARSER_OBJECTS) + +$(URIPARSER_OBJECTS): %.o : %.c + $(CC) $(CFLAGS) -I$(INCLUDE_DIR) -o "$@" -c "$<" + +$(TEST_SUITE): $(LIBRARY) $(TEST_OBJECTS) + $(CXX) $(CFLAGS) -I$(INCLUDE_DIR) $(TEST_OBJECTS) \ + -L$(WIN32_DIR) -luriparser -o $(TEST_SUITE) + +$(TEST_OBJECTS): %.o : %.cpp + $(CXX) $(CFLAGS) -I$(INCLUDE_DIR) -c "$<" -o "$@" + +all: $(LIBRARY) + +clean: + del $(call dos,$(URIPARSER_OBJECTS)) $(call dos,$(LIBRARY)) \ + $(call dos,$(TEST_OBJECTS)) $(call dos,$(TEST_SUITE)) + +check: $(TEST_SUITE) + $(TEST_SUITE) diff --git a/win32/MinGW/Readme.txt b/win32/MinGW/Readme.txt new file mode 100644 index 0000000..866312b --- /dev/null +++ b/win32/MinGW/Readme.txt @@ -0,0 +1,27 @@ +-- Building
+To build <win32\liburiparser.a> run:
+ mingw32-make.exe
+in this directory.
+
+To build and run the test suite (file <win32\test.exe>) run:
+ mingw32-make.exe check
+in this directory.
+
+Alternatively, install MSYS <http://www.mingw.org/msys.shtml>, set
+it to use your MinGW distro during post-install and use ./configure in
+the root of this package to produce the Makefile. Then run make.
+
+
+-- Installation
+To install uriparser in your MinGW distro:
+1. Copy liburiparser.a to the MinGW lib directory.
+2. Copy the uriparser directory (in this package's include
+ directory) to the MinGW include directory.
+
+-- Hello world à la uriparser
+To build a C program that uses liburiparser:
+gcc -Wall -Wextra example.c -o example -O3 -s -luriparser
+
+
+--------------------------------------------------------------
+Readme contributed by Michael Anthony Puls II.
|