AndrewFromMelbourne / raspi2fb

Program to copy the Raspberry Pi display to a secondary framebuffer.
MIT License
94 stars 27 forks source link

Add pkg-config for libbsd and bcm_host. #3

Closed jgueytat closed 8 years ago

jgueytat commented 8 years ago

Signed-off-by: Julien Gueytat contact@jgueytat.fr

AndrewFromMelbourne commented 8 years ago

OK I will test it on Raspbian.

AndrewFromMelbourne commented 8 years ago

It doesn't work on Raspbian. I would have been surprised if pkg-config knew about bcm_host

-- The C compiler identification is GNU 4.9.2
-- The CXX compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- checking for module 'bcm_host'
--   package 'bcm_host' not found
-- checking for module 'libbsd'
--   found libbsd, version 0.7.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/andrew/code/vc/dispmanx/raspi2fb/build
jgueytat commented 8 years ago

The point is to check if there is any relation between https://github.com/raspberrypi/userland and the Raspbian distribution. I have to push the bcm_host.pc file there first. There are already some patches providing them in my installation. I'll try to extract them.

I keep you informed.

jgueytat commented 8 years ago

Sorry for the deletion of the branch. I just updated my master branch on the version I will definitely use. I will push the missing pkgconfig files on the userland repository so that you can use this update. I needed the libvchostif.so library for the compilation which is right now provided by adding egl.

Here is the current version of the *.pc files I'm using:

bcm_host.pc $ cat bcm_host.pc prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include

Name: bcm_host Description: Broadcom VideoCore host API library Version: 1 Libs: -L${libdir} -lbcm_host -lvcos -lvchiq_arm -pthread Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM

egl.pc $ cat egl.pc prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include

Name: EGL Description: Fake EGL package for RPi Version: 10 Requires: bcm_host Libs: -L${libdir} -lEGL -lGLESv2 -lbcm_host -lvchostif Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux \ -I${includedir}/interface/vcos/pthreads

glesv2.pc $ cat glesv2.pc prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include

Name: GLESv2 Description: Fake GL ES 2 package for RPi Version: 10 Requires: bcm_host Libs: -L${libdir} -lGLESv2 Cflags: -I${includedir}

vg.pc $ cat vg.pc prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include

Name: OpenVG Description: Fake OpenVG package for RPi Version: 10 Requires: bcm_host Libs: -L${libdir} -lOpenVG Cflags: -I${includedir}

Does this seem correct to you? Do you know who I should ask to double check those? Thanks in advance!

Best Regards,

jgueytat commented 8 years ago

It's on its way! :) https://github.com/raspberrypi/userland/issues/245

So I still need to know exactly against which libraries you need to link. If they are related to bcm_host, egl or glesv2. I'm not really sure about the purpose of each. I asked the question on the userland ticket.