{"id":13649056,"url":"https://github.com/szanni/ios-autotools","last_synced_at":"2026-01-10T19:59:47.819Z","repository":{"id":23661731,"uuid":"27032566","full_name":"szanni/ios-autotools","owner":"szanni","description":"Helper tools for cross-compilation of autotools libraries for iOS (and simulator) on OS X.","archived":false,"fork":false,"pushed_at":"2022-01-07T06:14:55.000Z","size":137,"stargazers_count":73,"open_issues_count":1,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-11-09T23:36:29.714Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szanni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-23T13:01:20.000Z","updated_at":"2024-09-12T10:21:46.000Z","dependencies_parsed_at":"2022-08-05T23:00:15.083Z","dependency_job_id":null,"html_url":"https://github.com/szanni/ios-autotools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szanni%2Fios-autotools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szanni%2Fios-autotools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szanni%2Fios-autotools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szanni%2Fios-autotools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szanni","download_url":"https://codeload.github.com/szanni/ios-autotools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250241053,"owners_count":21397922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:04:44.385Z","updated_at":"2025-04-22T12:33:11.892Z","avatar_url":"https://github.com/szanni.png","language":"Shell","readme":"Autotools helpers for iOS\n=========================\n\nHelper tools for cross-compilation of autotools libraries for iOS (and simulator) on OS X.\nAll libraries are static, since iOS does not support linking of custom dynamic libraries.\n\nYou will have to install `automake`, `autoconf` and `libtool` via your favorite mechanism (compile from source, homebrew, macports, ...).\n\n\nUsage: iconfigure\n-----------------\n\nTo configure a library for a specific architecture run `iconfigure` in the directory containing the\n*configure* script.\n\n    iconfigure armv7|armv7s|arm64|i686|x86_64\n\nThis will set up the environment for cross-compiling for the specified architecture.\nYou can then proceed as usual by running `make` and `make install`. `make install`\nwill default to install your libraries system-wide in */opt/* so that you can use them\nin multiple projects.\n\nAll this can be configured by setting the following variables:\n\n     SDKVERSION   e.g.: 7.1\n     PREFIX       e.g.: /User/Home/project/staticlib\n\nAnd the typical compiler flags:\n\n    CFLAGS CPPFLAGS CXXFLAGS LDFLAGS PKG_CONFIG_PATH\n\nFor more variables and their functionality see the usage instructions and/or read\nthe source code.\n\nFor example to build a library locally in your project targeting the iOS SDK version 7.1 on armv7 run:\n\n    SDKVERSION=7.1 PREFIX=/User/Home/project/staticlib iconfigure armv7\n    make\n    make install\n\n\nUsage: autoframework\n--------------------\n\nTo build an iOS framework for all architectures run `autoframework` in the directory containing\nthe *configure* script.\n\nThis will create two directories *Static* and *Frameworks*. *Static* will contain one\nsubdirectory for each architecture, each containing all installation targets for that\narchitecture. *Frameworks* will contain the resulting multiarch framework.\n\n    autoframework MyLib libmylib.a\n\nAs with `iconfigure` there are a few optional settings:\n\n    ARCHS    e.g. armv7 armv7s\n    PREFIX   e.g. /User/Home/project\n\nFor example for building your framework locally for armv7 and armv7s you could run:\n\n    ARCHS=\"armv7 armv7s\" PREFIX=/User/Home/project autoframework MyLib libmylib.a\n\n\nExternal build system\n---------------------\n\nWhile *Xcode* does not directly support *autotools* it has support for plain *Makefiles*.\nYou can use this to build all your libraries within your project automatically.\n\nAdd a new *External Build System* target to your project (*File \u003e New \u003e Target \u003e OS X \u003e Other \u003e External Build System*).\nEnter a name like *StaticLibs* and create a *Makefile* in the top level of your project:\n\n    ARCHS=\"armv7 armv7s arm64 i686 x86_64\"\n    FRAMEWORKS = Frameworks/MyLib.framework\n\n    all: $(FRAMEWORKS)\n\n    Frameworks/MyLib.framework: mylib\n      cd $\u003c \u0026\u0026 ./autogen.sh\n      # $(PROJECT_DIR)  set by Xcode\n      # $(ARCHS)        set by Xcode, but sadly does not include all target architectures\n      cd $\u003c \u0026\u0026 PREFIX=$(PROJECT_DIR) ARCHS=$(ARCHS) autoframework MyLib libmylib.a\n\nBe aware that Xcode itself does set the ARCHS variable to an incorrect value. We therefore\nhave to override the value by manually specifying the desired architectures in the\nMakefile.\n\nNow add the new target to the dependencies of your main project and build.\nYou should now be able to either add your libraries either by adding the\ndesired frameworks in *Frameworks/* or by adding *Static/{include,lib}* to the\npaths in your main project and setting the appropriate linker flags.\n\nDepending on where you installed your autotools suite you might have to adjust the\n*PATH* variable in your new target. Go to: *Build Settings \u003e + \u003e Add User-Defined Setting*\nand enter *PATH* with the value *$PATH:/usr/local/bin* (or wherever your tools are\nlocated).\n\n\nLicense\n-------\n\nISC license, see the LICENSE file for more details.\n\n\nOrigins\n-------\n\nInspired by the initial *iOS-autoconf* scripts of intlres1 and sbooth.\n\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszanni%2Fios-autotools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszanni%2Fios-autotools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszanni%2Fios-autotools/lists"}