[Buildroot] [PATCH v4 1/2] ti-gfx: add new package

Spenser Gilliland spenser at gillilanding.com
Thu Jul 11 16:07:07 UTC 2013


Thomas,

> When a comment like this a shown, the package option is not visible, so
> you must mention the package name in the comment, otherwise it's
> impossible for the user to understand what the comment is about. So it
> should be:
>
> comment "ti-gfx requires ..."

Will fix.

>> +define TI_GFX_CONFIGURE_CMDS
>> +     $(if $(BR2_PACKAGE_TI_GFX_EGLIMAGE),
>> +             mv -f $(@D)/$(TI_GFX_BIN_PATH)/libEGL_eglimage.so \
>> +                     $(@D)/$(TI_GFX_BIN_PATH)/libEGL.so; \
>> +             mv -f $(@D)/$(TI_GFX_BIN_PATH)/libGLES_CM_eglimage.so \
>> +                     $(@D)/$(TI_GFX_BIN_PATH)/libGLES_CM.so; \
>> +             mv -f $(@D)/$(TI_GFX_BIN_PATH)/libGLESv2_eglimage.so \
>> +                $(@D)/$(TI_GFX_BIN_PATH)/libGLESv2.so; \
>> +             mv -f $(@D)/$(TI_GFX_BIN_PATH)/libglslcompiler_eglimage.so \
>> +                     $(@D)/$(TI_GFX_BIN_PATH)/libglslcompiler.so; \
>> +             mv -f $(@D)/$(TI_GFX_BIN_PATH)/libIMGegl_eglimage.so \
>> +                     $(@D)/$(TI_GFX_BIN_PATH)/libIMGegl.so;
>> +     )
>
> This seems not really nice to do, it should be handled at install time.

Will fix.

>> +endef
>> +
>> +define TI_GFX_BUILD_KM_CMDS
>> +     $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM all
>> +endef
>> +
>> +define TI_GFX_BUILD_DEMO_CMDS
>> +     $(foreach demo, $(TI_GFX_DEMOS), \
>> +             cd $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_MAKE_LOC); \
>> +             $(TARGET_MAKE_ENV) $(MAKE1) $(TI_GFX_DEMO_MAKE_OPTS) all
>
>         $(MAKE1) -C $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_MAKE_LOC)
>
> will avoid the need for the cd.

Will fix.

>> +     )
>> +endef
>> +
>> +define TI_GFX_BUILD_CMDS
>> +     $(TI_GFX_BUILD_KM_CMDS)
>> +     $(if $(BR2_PACKAGE_TI_GFX_DEMOS),
>> +             $(TI_GFX_BUILD_DEMO_CMDS)
>> +     )
>> +endef
>
> I think I've said it before, but we generally do:
>
> ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y)
> define TI_GFX_BUILD_DEMO_CMDS
>         ...
> endef
> endif
>
> define TI_GFX_BUILD_CMDS
>         ...
>         $(TI_GFX_BUILD_DEMO_CMDS)
> endef

Ok I think I understand this better now.  Will fix.

>> +
>> +define TI_GFX_INSTALL_STAGING_CMDS
>> +     $(foreach incdir,$(TI_GFX_HDR_DIRS),
>> +             $(INSTALL) -d $(STAGING_DIR)/usr/include/$(notdir $(incdir)); \
>> +             $(INSTALL) -D -m 0644 $(@D)/include/$(incdir)/*.h \
>> +                     $(STAGING_DIR)/usr/include/$(notdir $(incdir))/
>> +     )
>> +     $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/*.so $(STAGING_DIR)/usr/lib/
>> +     $(INSTALL) -D -m 0644 package/ti-gfx/egl.pc $(STAGING_DIR)/usr/lib/pkgconfig/
>> +     $(INSTALL) -D -m 0644 package/ti-gfx/glesv2.pc $(STAGING_DIR)/usr/lib/pkgconfig/
>> +endef
>> +
>> +define TI_GFX_INSTALL_KM_CMDS
>> +     $(MAKE) $(TI_GFX_KM_MAKE_OPTS) -C $(@D)/GFX_Linux_KM install
>> +endef
>> +
>> +define TI_GFX_INSTALL_BINS_CMDS
>> +     $(foreach bin,$(TI_GFX_BIN),
>> +             $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/$(bin) \
>> +                     $(TARGET_DIR)/usr/bin/$(bin)
>> +     )
>> +     $(if $(BR2_PACKAGE_TI_GFX_DEBUG),
>> +             $(INSTALL) -D -m 0755 package/ti-gfx/esrev.sh \
>> +                     $(TARGET_DIR)/usr/bin/esrev)
>> +endef
>> +
>> +define TI_GFX_INSTALL_LIBS_CMDS
>> +     # create symlinks and install libraries.  these libraries do not have a
>> +     # SONAME defined; therefore, they will not be automatically renamed and
>> +     # must be renamed manually.
>
> I still don't understand this "automatically renamed" comment here.

i remember hearing that in some rootfs fixup, the libraries are
renamed with symlinks according to the SONAME.  However, I can't find
it in the code so maybe this was just bad information.  I'll remove
the comment.

>> +     $(foreach lib,$(TI_GFX_LIBS),
>> +             $(INSTALL) -D -m 0755 $(@D)/$(TI_GFX_BIN_PATH)/$(lib).so \
>> +                     $(TARGET_DIR)/usr/lib/$(lib).so.$(TI_GFX_SO_VERSION); \
>> +             ln -sf $(lib).so.$(TI_GFX_SO_VERSION) \
>> +                     $(TARGET_DIR)/usr/lib/$(lib).so
>> +     )
>> +     # libs use the following file for configuration.
>> +     $(INSTALL) -D -m 0644 package/ti-gfx/powervr.ini \
>> +             $(TARGET_DIR)/etc/powervr.ini
>> +endef
>> +
>> +ifeq ($(BR2_PACKAGE_TI_GFX_DEMOS),y)
>> +define TI_GFX_INSTALL_DEMOS_CMDS
>> +     $(foreach demo,$(TI_GFX_DEMOS),
>> +             $(INSTALL) -D -m 0755 \
>> +             $(@D)/$(TI_GFX_DEMOS_LOC)/$(demo)/$(TI_GFX_DEMOS_BIN_LOC)/OGLES2$(demo) \
>> +             $(TARGET_DIR)/usr/bin/OGLES2$(demo)
>> +     )
>> +endef
>> +endif
>> +
>> +define TI_GFX_INSTALL_INIT_SYSV
>> +     $(INSTALL) -D -m 0755 package/ti-gfx/S80ti-gfx \
>> +             $(TARGET_DIR)/etc/init.d/S80ti-gfx
>> +endef
>> +
>> +define TI_GFX_INSTALL_TARGET_CMDS
>> +     $(TI_GFX_INSTALL_KM_CMDS)
>> +     $(TI_GFX_INSTALL_BINS_CMDS)
>> +     $(TI_GFX_INSTALL_LIBS_CMDS)
>> +     $(if $(BR2_PACKAGE_TI_GFX_DEMOS),
>> +             $(TI_GFX_INSTALL_DEMOS_CMDS)
>> +     )
>
> Same comment as above for demo build, especially since
> TI_GFX_INSTALL_DEMOS_CMDS is not defined when BR2_PACKAGE_TI_GFX_DEMOS
> is not enabled.

Wil fix.

>> +endef
>> +
>> +$(eval $(generic-package))
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, Free Electrons
> Kernel, drivers, real-time and embedded Linux
> development, consulting, training and support.
> http://free-electrons.com



--
Spenser Gilliland
Computer Engineer
Doctoral Candidate



More information about the buildroot mailing list