[Buildroot] [PATCH] New package: cJSON (v2)
Peter Korsgaard
jacmet at uclibc.org
Mon Jun 11 10:08:12 UTC 2012
>>>>> "Danomi" == Danomi Manchego <danomimanchego123 at gmail.com> writes:
Danomi> Signed-off-by: Danomi Manchego <danomimanchego123 at gmail.com>
Danomi> ---
Danomi> package/Config.in | 1 +
Danomi> package/cjson/Config.in | 7 +++++++
Danomi> package/cjson/cjson.mk | 41 +++++++++++++++++++++++++++++++++++++++++
Danomi> +++ b/package/cjson/cjson.mk
Danomi> @@ -0,0 +1,41 @@
Danomi> +#############################################################
Danomi> +#
Danomi> +# cjson
Danomi> +#
Danomi> +#############################################################
Danomi> +CJSON_VERSION = undefined
Danomi> +CJSON_SOURCE = cJSONFiles.zip
Danomi> +CJSON_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/cjson/
Danomi> +CJSON_INSTALL_STAGING = YES
Danomi> +
Danomi> +define CJSON_EXTRACT_CMDS
Danomi> + unzip -d $(@D) $(DL_DIR)/$(CJSON_SOURCE)
Danomi> +endef
Danomi> +
Danomi> +define CJSON_BUILD_CMDS
Danomi> + cd $(@D)/cJSON && $(TARGET_CC) -Wall -O2 -shared -fpic cJSON.c -o libcJSON.so
I'm not sure it makes sense to build a .so of something as simple (and
unversioned) as this. How about just doing a static .a like ezxml? You
also shouldn't hardcode compiler flags like -Wall / -O2 but use
$(TARGET_CFLAGS) instead - E.G.
cd $(@D)/cJSON && $(TARGET_CC) $(TARGET_CFLAGS) -o cJSON.o cJSON.c
cd $(@D)/cJSON && $(TARGET_AR) rcs libcJSON.a cJSON.o
Danomi> +endef
Danomi> +
Danomi> +define CJSON_INSTALL_STAGING_CMDS
Danomi> + $(INSTALL) -D $(@D)/cJSON/cJSON.h $(STAGING_DIR)/usr/include/cJSON.h
Danomi> + $(INSTALL) -D $(@D)/cJSON/libcJSON.so $(STAGING_DIR)/usr/lib/libcJSON.so
Danomi> +endef
Danomi> +
Danomi> +define CJSON_INSTALL_TARGET_CMDS
Danomi> + $(INSTALL) -D $(@D)/cJSON/libcJSON.so $(TARGET_DIR)/usr/lib/libcJSON.so
You should also install the header file into TARGET_DIR. It will get
removed by target-finalize if it isn't needed.
Care to fix and resend?
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list