From 2809e37a97e58c4920b4631052f9903af7a5a74e Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 22 Jun 2019 10:49:32 +0800 Subject: add manual --- manual/package_dependencies.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 manual/package_dependencies.md (limited to 'manual/package_dependencies.md') diff --git a/manual/package_dependencies.md b/manual/package_dependencies.md new file mode 100644 index 00000000..e600ef31 --- /dev/null +++ b/manual/package_dependencies.md @@ -0,0 +1,41 @@ + +The repository depends on the package definition description, the `package()` related interface definition, etc. There will be time to elaborate, so stay tuned. . + +Please refer to the existing package description in the official repository: [xmake-repo](https://github.com/xmake-io/xmake-repo) + +Here is a more representative example for reference: + +```lua +package("libxml2") + + set_homepage("http://xmlsoft.org/") + set_description("The XML C parser and toolkit of Gnome.") + + set_urls("https://github.com/GNOME/libxml2/archive/$(version).zip", {excludes = {"*/result/*", "*/test/*"}}) + + add_versions("v2.9.8", "c87793e45e66a7aa19200f861873f75195065de786a21c1b469bdb7bfc1230fb") + add_versions("v2.9.7", "31dd4c0e10fa625b47e27fd6a5295d246c883f214da947b9a4a9e13733905ed9") + + if is_plat("macosx", "linux") then + add_deps("autoconf", "automake", "libtool", "pkg-config") + end + + on_load(function (package) + package:addvar("includedirs", "include/libxml2") + package:addvar("links", "xml2") + end) + + if is_plat("windows") and winos.version():gt("winxp") then + on_install("windows", function (package) + os.cd("win32") + os.vrun("cscript configure.js iso8859x=yes iconv=no compiler=msvc cruntime=/MT debug=%s prefix=\"%s\"", package:debug() and "yes" or "no", Package:installdir()) + os.vrun("nmake /f Makefile.msvc") + os.vrun("nmake /f Makefile.msvc install") + end) + end + + on_install("macosx", "linux", function (package) + import("package.tools.autoconf").install(package, {"--disable-dependency-tracking", "--without-python", "--without-lzma"}) + end) +``` + -- cgit v1.2.3