imx6.patch 117 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051
  1. diff -Nur libcec-2.1.4/ChangeLog libcec-imx6/ChangeLog
  2. --- libcec-2.1.4/ChangeLog 2013-12-16 10:32:51.000000000 +0100
  3. +++ libcec-imx6/ChangeLog 2014-09-01 13:48:53.610430917 +0200
  4. @@ -1,3 +1,10 @@
  5. +libcec (2.1.4-2) unstable; urgency=low
  6. +
  7. + * fixed:
  8. + * OS X build
  9. +
  10. + -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 18 Dec 2013 02:14:00 +0100
  11. +
  12. libcec (2.1.4-1) unstable; urgency=low
  13. * changed / added:
  14. diff -Nur libcec-2.1.4/configure.ac libcec-imx6/configure.ac
  15. --- libcec-2.1.4/configure.ac 2013-12-16 10:32:51.000000000 +0100
  16. +++ libcec-imx6/configure.ac 2014-09-01 13:48:53.610430917 +0200
  17. @@ -93,6 +93,14 @@
  18. esac
  19. fi
  20. +## i.MX6 support
  21. +AC_ARG_ENABLE([imx6],
  22. + [AS_HELP_STRING([--enable-imx6],
  23. + [enable support for freescale i.MX6 (default is no)])],
  24. + [use_imx6=$enableval],
  25. + [use_imx6=no])
  26. +
  27. +
  28. ## add the top dir and include to the include path, so we can include config.h and cec.h
  29. CPPFLAGS="$CPPFLAGS -I\$(abs_top_srcdir)/src -I\$(abs_top_srcdir)/include"
  30. @@ -130,6 +138,7 @@
  31. use_udev="no"
  32. use_adapter_detection="yes"
  33. use_lockdev="no"
  34. +SUPPRESS_MANGLING_WARNINGS=" -Wno-psabi"
  35. case "${host}" in
  36. *-*-linux*)
  37. ## search for udev if pkg-config was found
  38. @@ -210,6 +219,7 @@
  39. AC_CHECK_HEADER(mach/mach_time.h,,AC_MSG_ERROR($msg_required_header_missing))
  40. AC_CHECK_HEADER(CoreVideo/CVHostTime.h,,AC_MSG_ERROR($msg_required_header_missing))
  41. AC_DEFINE([TARGET_DARWIN], [1], [Darwin target])
  42. + SUPPRESS_MANGLING_WARNINGS=""
  43. ;;
  44. esac
  45. @@ -268,6 +278,17 @@
  46. features="$features\n TDA995x support :\t\t\tno"
  47. fi
  48. +## mark i.MX6 support as available
  49. +if test "x$use_imx6" != "xno"; then
  50. + AC_DEFINE([HAVE_IMX_API],[1],[Define to 1 to include i.MX6 support])
  51. + AM_CONDITIONAL(USE_IMX_API, true)
  52. + features="$features\n i.MX6 support :\t\t\tyes"
  53. + LIB_INFO="$LIB_INFO 'i.MX6'"
  54. +else
  55. + AM_CONDITIONAL(USE_IMX_API, false)
  56. + features="$features\n i.MX6 support :\t\t\tno"
  57. +fi
  58. +
  59. ## check if our build system is complete
  60. AC_CHECK_HEADER(algorithm,,AC_MSG_ERROR($msg_required_header_missing))
  61. AC_CHECK_HEADER(ctype.h,,AC_MSG_ERROR($msg_required_header_missing))
  62. @@ -342,7 +363,7 @@
  63. LIBS_LIBCEC="$LIBS"
  64. LIBS="$libs_client"
  65. -CXXFLAGS="$CXXFLAGS -fPIC -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi"
  66. +CXXFLAGS="$CXXFLAGS -fPIC -Wall -Wextra -Wno-missing-field-initializers $SUPPRESS_MANGLING_WARNINGS"
  67. if test "x$use_debug" = "xyes"; then
  68. CXXFLAGS="$CXXFLAGS -g"
  69. diff -Nur libcec-2.1.4/debian/changelog libcec-imx6/debian/changelog
  70. --- libcec-2.1.4/debian/changelog 2013-12-16 10:32:51.000000000 +0100
  71. +++ libcec-imx6/debian/changelog 2014-09-01 13:48:53.698431426 +0200
  72. @@ -1,3 +1,10 @@
  73. +libcec (2.1.4-2) unstable; urgency=low
  74. +
  75. + * fixed:
  76. + * OS X build
  77. +
  78. + -- Pulse-Eight Packaging <packaging@pulse-eight.com> Wed, 18 Dec 2013 02:14:00 +0100
  79. +
  80. libcec (2.1.4-1) unstable; urgency=low
  81. * changed / added:
  82. diff -Nur libcec-2.1.4/driver/p8usb-cec.inf libcec-imx6/driver/p8usb-cec.inf
  83. --- libcec-2.1.4/driver/p8usb-cec.inf 1970-01-01 01:00:00.000000000 +0100
  84. +++ libcec-imx6/driver/p8usb-cec.inf 2014-09-01 13:48:53.702431449 +0200
  85. @@ -0,0 +1,89 @@
  86. +; Copyright (c) 2012 Pulse-Eight Limited
  87. +
  88. +[Version]
  89. +Signature="$Windows NT$"
  90. +Class=Ports
  91. +ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
  92. +Provider=%MFGNAME%
  93. +LayoutFile=layout.inf
  94. +CatalogFile=%MFGFILENAME%.cat
  95. +DriverVer=08/29/2012,1.1.0.0
  96. +
  97. +[Manufacturer]
  98. +%MFGNAME%=DeviceList, NTamd64
  99. +
  100. +[DestinationDirs]
  101. +FakeModemCopyFileSection=12
  102. +DefaultDestDir=12
  103. +
  104. +
  105. +;------------------------------------------------------------------------------
  106. +; Windows 2000/XP/Vista-32bit Sections
  107. +;------------------------------------------------------------------------------
  108. +
  109. +[DriverInstall.nt]
  110. +include = mdmcpq.inf
  111. +CopyFiles = FakeModemCopyFileSection
  112. +AddReg = DriverInstall.nt.AddReg
  113. +
  114. +[DriverInstall.nt.AddReg]
  115. +HKR,,DevLoader,,*ntkern
  116. +HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
  117. +HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
  118. +HKR,,PortSubClass,1,01
  119. +
  120. +[DriverInstall.nt.Services]
  121. +AddService = usbser, 0x00000002, DriverService.nt
  122. +
  123. +[DriverService.nt]
  124. +DisplayName = %SERVICE%
  125. +ServiceType = 1 ; SERVICE_KERNEL_DRIVER
  126. +StartType = 3 ; SERVICE_DEMAND_START
  127. +ErrorControl = 1 ; SERVICE_ERROR_NORMAL
  128. +ServiceBinary = %12%\%DRIVERFILENAME%.sys
  129. +LoadOrderGroup = Base
  130. +
  131. +;------------------------------------------------------------------------------
  132. +; Vista-64bit Sections
  133. +;------------------------------------------------------------------------------
  134. +
  135. +[DriverInstall.NTamd64]
  136. +include = mdmcpq.inf
  137. +CopyFiles = FakeModemCopyFileSection
  138. +AddReg = DriverInstall.NTamd64.AddReg
  139. +
  140. +[DriverInstall.NTamd64.AddReg]
  141. +HKR,,DevLoader,,*ntkern
  142. +HKR,,NTMPDriver,,%DRIVERFILENAME%.sys
  143. +HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
  144. +HKR,,PortSubClass,1,01
  145. +
  146. +[DriverInstall.NTamd64.Services]
  147. +AddService = usbser, 0x00000002, DriverService.NTamd64
  148. +
  149. +[DriverService.NTamd64]
  150. +DisplayName = %SERVICE%
  151. +ServiceType = 1 ; SERVICE_KERNEL_DRIVER
  152. +StartType = 3 ; SERVICE_DEMAND_START
  153. +ErrorControl = 1 ; SERVICE_ERROR_NORMAL
  154. +ServiceBinary = %12%\%DRIVERFILENAME%.sys
  155. +LoadOrderGroup = Base
  156. +
  157. +[SourceDisksFiles]
  158. +[SourceDisksNames]
  159. +[DeviceList]
  160. +%DESCRIPTION2% = DriverInstall, USB\VID_2548&PID_1002&MI_00
  161. +%DESCRIPTION% = DriverInstall, USB\VID_2548&PID_1001
  162. +
  163. +[DeviceList.NTamd64]
  164. +%DESCRIPTION2% = DriverInstall, USB\VID_2548&PID_1002&MI_00
  165. +%DESCRIPTION% = DriverInstall, USB\VID_2548&PID_1001
  166. +
  167. +[Strings]
  168. +MFGFILENAME = "p8usb-cec"
  169. +DRIVERFILENAME = "usbser"
  170. +MFGNAME = "Pulse-Eight Limited"
  171. +INSTDISK = "Pulse-Eight USB-CEC Installation Disc"
  172. +DESCRIPTION = "Pulse-Eight USB to HDMI CEC Adapter"
  173. +DESCRIPTION2 = "Pulse-Eight USB to HDMI CEC Adapter (rev.2)"
  174. +SERVICE = "USB to HDMI-CEC"
  175. diff -Nur libcec-2.1.4/.gitignore libcec-imx6/.gitignore
  176. --- libcec-2.1.4/.gitignore 1970-01-01 01:00:00.000000000 +0100
  177. +++ libcec-imx6/.gitignore 2014-09-01 13:48:53.610430917 +0200
  178. @@ -0,0 +1,117 @@
  179. +/build
  180. +/.cproject
  181. +/.project
  182. +/.settings
  183. +*.dll
  184. +*.exe
  185. +*.exp
  186. +*.ilk
  187. +*.lib
  188. +*.manifest
  189. +*.metagen
  190. +*.ncb
  191. +*.opensdf
  192. +*.pdb
  193. +*.suo
  194. +*.user
  195. +*.aps
  196. +
  197. +*~
  198. +
  199. +/support/private
  200. +
  201. +/driver/p8usb-cec.cat
  202. +/bootloader-driver/p8_usb_dfu.cat
  203. +
  204. +aclocal.m4
  205. +autom4te.cache
  206. +config.guess
  207. +config.log
  208. +config.status
  209. +config.sub
  210. +depcomp
  211. +configure
  212. +install-sh
  213. +INSTALL
  214. +libtool
  215. +ltmain.sh
  216. +Makefile
  217. +Makefile.in
  218. +missing
  219. +config.h
  220. +config.h.in
  221. +config.h.in~
  222. +stamp-h1
  223. +
  224. +/debian/*.log
  225. +/debian/*.substvars
  226. +/debian/*.debhelper
  227. +/debian/files
  228. +/debian/cec-utils
  229. +/debian/libcec-dev
  230. +/debian/libcec
  231. +/debian/libcec2
  232. +/debian/tmp
  233. +
  234. +include/boost
  235. +
  236. +project/bin
  237. +project/Debug/
  238. +project/*.exe
  239. +project/Release/
  240. +project/ipch/
  241. +project/libcec.sdf
  242. +project/obj
  243. +project/Properties
  244. +project/_*
  245. +project/x64
  246. +project/LibCecSharp/x64
  247. +project/LibCecSharp/Debug
  248. +project/LibCecSharp/Release
  249. +project/libcec/x64
  250. +project/libcec/Debug
  251. +project/libcec/Release
  252. +project/testclient/x64
  253. +project/testclient/Debug
  254. +project/testclient/Release
  255. +
  256. +project/RPi/toolchain
  257. +project/RPi/firmware
  258. +project/RPi/deps
  259. +
  260. +src/lib/.deps
  261. +src/lib/.libs
  262. +src/lib/*.a
  263. +src/lib/*.la
  264. +src/lib/*.lo
  265. +src/lib/*.o
  266. +src/lib/*.P
  267. +src/lib/libcec.pc
  268. +src/lib/Makefile
  269. +src/lib/Makefile.in
  270. +
  271. +src/lib/util/*.d
  272. +src/lib/util/*.o
  273. +src/lib/util/*.a
  274. +src/lib/util/*.P
  275. +
  276. +src/testclient/.deps
  277. +src/testclient/.libs
  278. +src/testclient/cec-client
  279. +src/testclient/*.o
  280. +
  281. +src/CecSharpTester/bin
  282. +src/CecSharpTester/obj
  283. +
  284. +src/cec-config-gui/obj
  285. +src/cec-config/cec-config
  286. +src/cec-config/*.o
  287. +src/cec-config/.deps
  288. +
  289. +src/libcec-wmc/bin
  290. +src/libcec-wmc/obj
  291. +
  292. +/dpinst-x86.exe
  293. +/dpinst-amd64.exe
  294. +
  295. +/documentation
  296. diff -Nur libcec-2.1.4/include/cectypes.h libcec-imx6/include/cectypes.h
  297. --- libcec-2.1.4/include/cectypes.h 2013-12-16 10:32:51.000000000 +0100
  298. +++ libcec-imx6/include/cectypes.h 2014-09-01 13:48:53.702431449 +0200
  299. @@ -295,6 +295,17 @@
  300. #define CEC_TDA995x_VIRTUAL_COM "CuBox"
  301. /*!
  302. + * the path to use for the i.MX CEC wire
  303. + */
  304. +#define CEC_IMX_PATH "/dev/mxc_hdmi_cec"
  305. +
  306. +/*!
  307. + * the name of the virtual COM port to use for the i.MX CEC wire
  308. + */
  309. +#define CEC_IMX_VIRTUAL_COM "i.MX"
  310. +
  311. +
  312. +/*!
  313. * Mimimum client version
  314. */
  315. #define CEC_MIN_LIB_VERSION 2
  316. @@ -858,7 +869,8 @@
  317. ADAPTERTYPE_P8_EXTERNAL = 0x1,
  318. ADAPTERTYPE_P8_DAUGHTERBOARD = 0x2,
  319. ADAPTERTYPE_RPI = 0x100,
  320. - ADAPTERTYPE_TDA995x = 0x200
  321. + ADAPTERTYPE_TDA995x = 0x200,
  322. + ADAPTERTYPE_IMX = 0x300,
  323. } cec_adapter_type;
  324. typedef struct cec_menu_language
  325. Binärdateien libcec-2.1.4/project/favicon.ico und libcec-imx6/project/favicon.ico sind verschieden.
  326. Binärdateien libcec-2.1.4/project/libcec/libcec.rc und libcec-imx6/project/libcec/libcec.rc sind verschieden.
  327. diff -Nur libcec-2.1.4/project/libcec/libcec.vcxproj libcec-imx6/project/libcec/libcec.vcxproj
  328. --- libcec-2.1.4/project/libcec/libcec.vcxproj 1970-01-01 01:00:00.000000000 +0100
  329. +++ libcec-imx6/project/libcec/libcec.vcxproj 2014-09-01 13:48:53.702431449 +0200
  330. @@ -0,0 +1,281 @@
  331. +<?xml version="1.0" encoding="utf-8"?>
  332. +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  333. + <ItemGroup Label="ProjectConfigurations">
  334. + <ProjectConfiguration Include="Debug|Win32">
  335. + <Configuration>Debug</Configuration>
  336. + <Platform>Win32</Platform>
  337. + </ProjectConfiguration>
  338. + <ProjectConfiguration Include="Debug|x64">
  339. + <Configuration>Debug</Configuration>
  340. + <Platform>x64</Platform>
  341. + </ProjectConfiguration>
  342. + <ProjectConfiguration Include="Release|Win32">
  343. + <Configuration>Release</Configuration>
  344. + <Platform>Win32</Platform>
  345. + </ProjectConfiguration>
  346. + <ProjectConfiguration Include="Release|x64">
  347. + <Configuration>Release</Configuration>
  348. + <Platform>x64</Platform>
  349. + </ProjectConfiguration>
  350. + </ItemGroup>
  351. + <ItemGroup>
  352. + <ClInclude Include="..\..\include\cec.h" />
  353. + <ClInclude Include="..\..\include\cecc.h" />
  354. + <ClInclude Include="..\..\include\cecloader.h" />
  355. + <ClInclude Include="..\..\include\cectypes.h" />
  356. + <ClInclude Include="..\..\src\lib\adapter\AdapterCommunication.h" />
  357. + <ClInclude Include="..\..\src\lib\adapter\AdapterFactory.h" />
  358. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.h" />
  359. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.h" />
  360. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.h" />
  361. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.h" />
  362. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.h" />
  363. + <ClInclude Include="..\..\src\lib\CECClient.h" />
  364. + <ClInclude Include="..\..\src\lib\CECInputBuffer.h" />
  365. + <ClInclude Include="..\..\src\lib\CECProcessor.h" />
  366. + <ClInclude Include="..\..\src\lib\CECTypeUtils.h" />
  367. + <ClInclude Include="..\..\src\lib\devices\CECAudioSystem.h" />
  368. + <ClInclude Include="..\..\src\lib\devices\CECBusDevice.h" />
  369. + <ClInclude Include="..\..\src\lib\devices\CECDeviceMap.h" />
  370. + <ClInclude Include="..\..\src\lib\devices\CECPlaybackDevice.h" />
  371. + <ClInclude Include="..\..\src\lib\devices\CECRecordingDevice.h" />
  372. + <ClInclude Include="..\..\src\lib\devices\CECTuner.h" />
  373. + <ClInclude Include="..\..\src\lib\devices\CECTV.h" />
  374. + <ClInclude Include="..\..\src\lib\implementations\ANCommandHandler.h" />
  375. + <ClInclude Include="..\..\src\lib\implementations\CECCommandHandler.h" />
  376. + <ClInclude Include="..\..\src\lib\implementations\PHCommandHandler.h" />
  377. + <ClInclude Include="..\..\src\lib\implementations\RLCommandHandler.h" />
  378. + <ClInclude Include="..\..\src\lib\implementations\SLCommandHandler.h" />
  379. + <ClInclude Include="..\..\src\lib\implementations\VLCommandHandler.h" />
  380. + <ClInclude Include="..\..\src\lib\implementations\RHCommandHandler.h" />
  381. + <ClInclude Include="..\..\src\lib\implementations\AQCommandHandler.h" />
  382. + <ClInclude Include="..\..\src\lib\LibCEC.h" />
  383. + <ClInclude Include="..\..\src\lib\platform\adl\adl-edid.h" />
  384. + <ClInclude Include="..\..\src\lib\platform\adl\adl_defines.h" />
  385. + <ClInclude Include="..\..\src\lib\platform\adl\adl_sdk.h" />
  386. + <ClInclude Include="..\..\src\lib\platform\adl\adl_structures.h" />
  387. + <ClInclude Include="..\..\src\lib\platform\nvidia\nv-edid.h" />
  388. + <ClInclude Include="..\..\src\lib\platform\os.h" />
  389. + <ClInclude Include="..\..\src\lib\platform\sockets\serialport.h" />
  390. + <ClInclude Include="..\..\src\lib\platform\sockets\socket.h" />
  391. + <ClInclude Include="..\..\src\lib\platform\sockets\tcp.h" />
  392. + <ClInclude Include="..\..\src\lib\platform\threads\mutex.h" />
  393. + <ClInclude Include="..\..\src\lib\platform\threads\threads.h" />
  394. + <ClInclude Include="..\..\src\lib\platform\util\baudrate.h" />
  395. + <ClInclude Include="..\..\src\lib\platform\util\buffer.h" />
  396. + <ClInclude Include="..\..\src\lib\platform\util\edid.h" />
  397. + <ClInclude Include="..\..\src\lib\platform\util\StdString.h" />
  398. + <ClInclude Include="..\..\src\lib\platform\util\timeutils.h" />
  399. + <ClInclude Include="..\..\src\lib\platform\windows\dlfcn-win32.h" />
  400. + <ClInclude Include="..\..\src\lib\platform\windows\os-socket.h" />
  401. + <ClInclude Include="..\..\src\lib\platform\windows\os-threads.h" />
  402. + <ClInclude Include="..\..\src\lib\platform\windows\os-types.h" />
  403. + <ClInclude Include="..\..\src\lib\platform\windows\stdint.h" />
  404. + <ClInclude Include="resource.h" />
  405. + </ItemGroup>
  406. + <ItemGroup>
  407. + <ClCompile Include="..\..\src\lib\adapter\AdapterFactory.cpp" />
  408. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.cpp" />
  409. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.cpp" />
  410. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.cpp" />
  411. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.cpp" />
  412. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.cpp" />
  413. + <ClCompile Include="..\..\src\lib\CECClient.cpp" />
  414. + <ClCompile Include="..\..\src\lib\CECProcessor.cpp" />
  415. + <ClCompile Include="..\..\src\lib\devices\CECAudioSystem.cpp" />
  416. + <ClCompile Include="..\..\src\lib\devices\CECBusDevice.cpp" />
  417. + <ClCompile Include="..\..\src\lib\devices\CECDeviceMap.cpp" />
  418. + <ClCompile Include="..\..\src\lib\devices\CECPlaybackDevice.cpp" />
  419. + <ClCompile Include="..\..\src\lib\devices\CECRecordingDevice.cpp" />
  420. + <ClCompile Include="..\..\src\lib\devices\CECTuner.cpp" />
  421. + <ClCompile Include="..\..\src\lib\devices\CECTV.cpp" />
  422. + <ClCompile Include="..\..\src\lib\implementations\ANCommandHandler.cpp" />
  423. + <ClCompile Include="..\..\src\lib\implementations\CECCommandHandler.cpp" />
  424. + <ClCompile Include="..\..\src\lib\implementations\PHCommandHandler.cpp" />
  425. + <ClCompile Include="..\..\src\lib\implementations\RLCommandHandler.cpp" />
  426. + <ClCompile Include="..\..\src\lib\implementations\SLCommandHandler.cpp" />
  427. + <ClCompile Include="..\..\src\lib\implementations\VLCommandHandler.cpp" />
  428. + <ClCompile Include="..\..\src\lib\implementations\RHCommandHandler.cpp" />
  429. + <ClCompile Include="..\..\src\lib\implementations\AQCommandHandler.cpp" />
  430. + <ClCompile Include="..\..\src\lib\LibCEC.cpp" />
  431. + <ClCompile Include="..\..\src\lib\LibCECC.cpp" />
  432. + <ClCompile Include="..\..\src\lib\LibCECDll.cpp" />
  433. + <ClCompile Include="..\..\src\lib\platform\adl\adl-edid.cpp" />
  434. + <ClCompile Include="..\..\src\lib\platform\nvidia\nv-edid.cpp" />
  435. + <ClCompile Include="..\..\src\lib\platform\windows\dlfcn-win32.cpp" />
  436. + <ClCompile Include="..\..\src\lib\platform\windows\os-edid.cpp" />
  437. + <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp" />
  438. + <ClCompile Include="..\..\src\lib\platform\windows\serialport.cpp" />
  439. + </ItemGroup>
  440. + <ItemGroup>
  441. + <ResourceCompile Include="libcec.rc" />
  442. + </ItemGroup>
  443. + <PropertyGroup Label="Globals">
  444. + <ProjectGuid>{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}</ProjectGuid>
  445. + <RootNamespace>libcec</RootNamespace>
  446. + <ProjectName>libcec</ProjectName>
  447. + </PropertyGroup>
  448. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  449. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
  450. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  451. + <UseDebugLibraries>true</UseDebugLibraries>
  452. + <CharacterSet>MultiByte</CharacterSet>
  453. + <PlatformToolset>v100</PlatformToolset>
  454. + </PropertyGroup>
  455. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
  456. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  457. + <UseDebugLibraries>true</UseDebugLibraries>
  458. + <CharacterSet>MultiByte</CharacterSet>
  459. + <PlatformToolset>v100</PlatformToolset>
  460. + </PropertyGroup>
  461. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
  462. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  463. + <UseDebugLibraries>false</UseDebugLibraries>
  464. + <CharacterSet>MultiByte</CharacterSet>
  465. + <PlatformToolset>v100</PlatformToolset>
  466. + </PropertyGroup>
  467. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
  468. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  469. + <UseDebugLibraries>false</UseDebugLibraries>
  470. + <CharacterSet>MultiByte</CharacterSet>
  471. + <PlatformToolset>v100</PlatformToolset>
  472. + </PropertyGroup>
  473. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  474. + <ImportGroup Label="ExtensionSettings">
  475. + </ImportGroup>
  476. + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  477. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  478. + </ImportGroup>
  479. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
  480. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  481. + </ImportGroup>
  482. + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  483. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  484. + </ImportGroup>
  485. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
  486. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  487. + </ImportGroup>
  488. + <PropertyGroup Label="UserMacros" />
  489. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  490. + <OutDir>$(SolutionDir)..\build\</OutDir>
  491. + </PropertyGroup>
  492. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  493. + <OutDir>$(SolutionDir)..\build\x64\</OutDir>
  494. + </PropertyGroup>
  495. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  496. + <TargetName>libcec</TargetName>
  497. + </PropertyGroup>
  498. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  499. + <TargetName>$(ProjectName)</TargetName>
  500. + </PropertyGroup>
  501. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  502. + <IncludePath>$(SolutionDir)..\include;$(IncludePath)</IncludePath>
  503. + <LibraryPath>C:\WinDDK\7600.16385.1\lib\win7\i386;$(LibraryPath)</LibraryPath>
  504. + </PropertyGroup>
  505. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  506. + <IncludePath>$(SolutionDir)..\include;$(IncludePath)</IncludePath>
  507. + <LibraryPath>C:\WinDDK\7600.16385.1\lib\win7\amd64;$(LibraryPath)</LibraryPath>
  508. + </PropertyGroup>
  509. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  510. + <OutDir>$(SolutionDir)..\build\</OutDir>
  511. + <TargetName>libcec</TargetName>
  512. + <IncludePath>$(SolutionDir)..\include;$(IncludePath)</IncludePath>
  513. + <LibraryPath>C:\WinDDK\7600.16385.1\lib\win7\i386;$(LibraryPath)</LibraryPath>
  514. + </PropertyGroup>
  515. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  516. + <OutDir>$(SolutionDir)..\build\x64\</OutDir>
  517. + <TargetName>$(ProjectName)</TargetName>
  518. + <IncludePath>$(SolutionDir)..\include;$(IncludePath)</IncludePath>
  519. + <LibraryPath>C:\WinDDK\7600.16385.1\lib\win7\amd64;$(LibraryPath)</LibraryPath>
  520. + </PropertyGroup>
  521. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  522. + <ClCompile>
  523. + <WarningLevel>Level4</WarningLevel>
  524. + <Optimization>Disabled</Optimization>
  525. + <PreprocessorDefinitions>CEC_DEBUGGING;HAVE_P8_USB;_USE_32BIT_TIME_T;_DEBUG;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  526. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  527. + <DisableSpecificWarnings>
  528. + </DisableSpecificWarnings>
  529. + <TreatWarningAsError>true</TreatWarningAsError>
  530. + </ClCompile>
  531. + <Link>
  532. + <GenerateDebugInformation>true</GenerateDebugInformation>
  533. + <Version>
  534. + </Version>
  535. + </Link>
  536. + </ItemDefinitionGroup>
  537. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  538. + <ClCompile>
  539. + <WarningLevel>Level4</WarningLevel>
  540. + <Optimization>Disabled</Optimization>
  541. + <PreprocessorDefinitions>CEC_DEBUGGING;HAVE_P8_USB;_WIN64;_DEBUG;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  542. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  543. + <DisableSpecificWarnings>
  544. + </DisableSpecificWarnings>
  545. + <TreatWarningAsError>true</TreatWarningAsError>
  546. + </ClCompile>
  547. + <Link>
  548. + <AdditionalDependencies>
  549. + </AdditionalDependencies>
  550. + <IgnoreSpecificDefaultLibraries>
  551. + </IgnoreSpecificDefaultLibraries>
  552. + <Version>
  553. + </Version>
  554. + <GenerateDebugInformation>true</GenerateDebugInformation>
  555. + </Link>
  556. + </ItemDefinitionGroup>
  557. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  558. + <ClCompile>
  559. + <WarningLevel>Level4</WarningLevel>
  560. + <Optimization>Full</Optimization>
  561. + <FunctionLevelLinking>true</FunctionLevelLinking>
  562. + <IntrinsicFunctions>true</IntrinsicFunctions>
  563. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  564. + <PreprocessorDefinitions>HAVE_P8_USB;_USE_32BIT_TIME_T;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  565. + <DisableSpecificWarnings>
  566. + </DisableSpecificWarnings>
  567. + <TreatWarningAsError>true</TreatWarningAsError>
  568. + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
  569. + </ClCompile>
  570. + <Link>
  571. + <GenerateDebugInformation>false</GenerateDebugInformation>
  572. + <EnableCOMDATFolding>true</EnableCOMDATFolding>
  573. + <OptimizeReferences>true</OptimizeReferences>
  574. + <Version>
  575. + </Version>
  576. + </Link>
  577. + </ItemDefinitionGroup>
  578. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  579. + <ClCompile>
  580. + <WarningLevel>Level4</WarningLevel>
  581. + <Optimization>Full</Optimization>
  582. + <IntrinsicFunctions>true</IntrinsicFunctions>
  583. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  584. + <PreprocessorDefinitions>HAVE_P8_USB;_WIN64;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;DLL_EXPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  585. + <DisableSpecificWarnings>
  586. + </DisableSpecificWarnings>
  587. + <TreatWarningAsError>true</TreatWarningAsError>
  588. + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
  589. + </ClCompile>
  590. + <Link>
  591. + <GenerateDebugInformation>false</GenerateDebugInformation>
  592. + <EnableCOMDATFolding>true</EnableCOMDATFolding>
  593. + <OptimizeReferences>true</OptimizeReferences>
  594. + <AdditionalDependencies>
  595. + </AdditionalDependencies>
  596. + <IgnoreSpecificDefaultLibraries>
  597. + </IgnoreSpecificDefaultLibraries>
  598. + <Version>
  599. + </Version>
  600. + </Link>
  601. + <ProjectReference />
  602. + <Lib>
  603. + <TargetMachine>MachineX64</TargetMachine>
  604. + <TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
  605. + <SubSystem>Windows</SubSystem>
  606. + </Lib>
  607. + </ItemDefinitionGroup>
  608. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  609. + <ImportGroup Label="ExtensionTargets">
  610. + </ImportGroup>
  611. +</Project>
  612. \ Kein Zeilenumbruch am Dateiende.
  613. diff -Nur libcec-2.1.4/project/libcec/libcec.vcxproj.filters libcec-imx6/project/libcec/libcec.vcxproj.filters
  614. --- libcec-2.1.4/project/libcec/libcec.vcxproj.filters 1970-01-01 01:00:00.000000000 +0100
  615. +++ libcec-imx6/project/libcec/libcec.vcxproj.filters 2014-09-01 13:48:53.702431449 +0200
  616. @@ -0,0 +1,281 @@
  617. +<?xml version="1.0" encoding="utf-8"?>
  618. +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  619. + <ItemGroup>
  620. + <Filter Include="exports">
  621. + <UniqueIdentifier>{01b9c84a-dcfe-4bdc-b983-69e3e3929b0f}</UniqueIdentifier>
  622. + </Filter>
  623. + <Filter Include="implementations">
  624. + <UniqueIdentifier>{03bd59df-ccac-4664-b61b-3151bb219efa}</UniqueIdentifier>
  625. + </Filter>
  626. + <Filter Include="devices">
  627. + <UniqueIdentifier>{bfc43a58-636d-4c1a-b191-486cb8509c7c}</UniqueIdentifier>
  628. + </Filter>
  629. + <Filter Include="adapter">
  630. + <UniqueIdentifier>{51614b77-8a0e-47a8-8500-5beb0fd12d49}</UniqueIdentifier>
  631. + </Filter>
  632. + <Filter Include="platform">
  633. + <UniqueIdentifier>{7d05b1b5-e728-4f9e-b78f-d63cac4ded8e}</UniqueIdentifier>
  634. + </Filter>
  635. + <Filter Include="platform\sockets">
  636. + <UniqueIdentifier>{6cfe4bad-ed3a-4a16-8c59-4489089f5fe5}</UniqueIdentifier>
  637. + </Filter>
  638. + <Filter Include="platform\util">
  639. + <UniqueIdentifier>{39a56ebf-ba93-4e7b-bf72-2f57b99a1ee1}</UniqueIdentifier>
  640. + </Filter>
  641. + <Filter Include="platform\threads">
  642. + <UniqueIdentifier>{be183456-d61e-4283-b642-fe25ed71e9c5}</UniqueIdentifier>
  643. + </Filter>
  644. + <Filter Include="platform\windows">
  645. + <UniqueIdentifier>{65c4a590-4577-40e4-91ad-339e20b99ebe}</UniqueIdentifier>
  646. + </Filter>
  647. + <Filter Include="platform\adl">
  648. + <UniqueIdentifier>{4fbd02e2-5671-4132-9b37-964c17fb3b0d}</UniqueIdentifier>
  649. + </Filter>
  650. + <Filter Include="platform\nvidia">
  651. + <UniqueIdentifier>{685e2589-204d-4f9a-a637-a7ba1b61c669}</UniqueIdentifier>
  652. + </Filter>
  653. + <Filter Include="adapter\Pulse-Eight">
  654. + <UniqueIdentifier>{a5e91a49-0595-49bd-9bdb-d729d63f024e}</UniqueIdentifier>
  655. + </Filter>
  656. + </ItemGroup>
  657. + <ItemGroup>
  658. + <ClInclude Include="..\..\src\lib\CECProcessor.h" />
  659. + <ClInclude Include="..\..\src\lib\LibCEC.h" />
  660. + <ClInclude Include="..\..\include\cec.h">
  661. + <Filter>exports</Filter>
  662. + </ClInclude>
  663. + <ClInclude Include="..\..\include\cecc.h">
  664. + <Filter>exports</Filter>
  665. + </ClInclude>
  666. + <ClInclude Include="..\..\include\cecloader.h">
  667. + <Filter>exports</Filter>
  668. + </ClInclude>
  669. + <ClInclude Include="..\..\include\cectypes.h">
  670. + <Filter>exports</Filter>
  671. + </ClInclude>
  672. + <ClInclude Include="..\..\src\lib\implementations\ANCommandHandler.h">
  673. + <Filter>implementations</Filter>
  674. + </ClInclude>
  675. + <ClInclude Include="..\..\src\lib\implementations\CECCommandHandler.h">
  676. + <Filter>implementations</Filter>
  677. + </ClInclude>
  678. + <ClInclude Include="..\..\src\lib\implementations\SLCommandHandler.h">
  679. + <Filter>implementations</Filter>
  680. + </ClInclude>
  681. + <ClInclude Include="..\..\src\lib\devices\CECBusDevice.h">
  682. + <Filter>devices</Filter>
  683. + </ClInclude>
  684. + <ClInclude Include="..\..\src\lib\implementations\VLCommandHandler.h">
  685. + <Filter>implementations</Filter>
  686. + </ClInclude>
  687. + <ClInclude Include="..\..\src\lib\implementations\RHCommandHandler.h">
  688. + <Filter>implementations</Filter>
  689. + </ClInclude>
  690. + <ClInclude Include="..\..\src\lib\implementations\ANCommandHandler.h">
  691. + <Filter>implementations</Filter>
  692. + </ClInclude>
  693. + <ClInclude Include="..\..\src\lib\devices\CECAudioSystem.h">
  694. + <Filter>devices</Filter>
  695. + </ClInclude>
  696. + <ClInclude Include="..\..\src\lib\devices\CECPlaybackDevice.h">
  697. + <Filter>devices</Filter>
  698. + </ClInclude>
  699. + <ClInclude Include="..\..\src\lib\devices\CECRecordingDevice.h">
  700. + <Filter>devices</Filter>
  701. + </ClInclude>
  702. + <ClInclude Include="..\..\src\lib\devices\CECTuner.h">
  703. + <Filter>devices</Filter>
  704. + </ClInclude>
  705. + <ClInclude Include="..\..\src\lib\devices\CECTV.h">
  706. + <Filter>devices</Filter>
  707. + </ClInclude>
  708. + <ClInclude Include="..\..\src\lib\platform\os.h">
  709. + <Filter>platform</Filter>
  710. + </ClInclude>
  711. + <ClInclude Include="..\..\src\lib\platform\sockets\serialport.h">
  712. + <Filter>platform\sockets</Filter>
  713. + </ClInclude>
  714. + <ClInclude Include="..\..\src\lib\platform\sockets\socket.h">
  715. + <Filter>platform\sockets</Filter>
  716. + </ClInclude>
  717. + <ClInclude Include="..\..\src\lib\platform\sockets\tcp.h">
  718. + <Filter>platform\sockets</Filter>
  719. + </ClInclude>
  720. + <ClInclude Include="..\..\src\lib\platform\util\baudrate.h">
  721. + <Filter>platform\util</Filter>
  722. + </ClInclude>
  723. + <ClInclude Include="..\..\src\lib\platform\util\buffer.h">
  724. + <Filter>platform\util</Filter>
  725. + </ClInclude>
  726. + <ClInclude Include="..\..\src\lib\platform\util\StdString.h">
  727. + <Filter>platform\util</Filter>
  728. + </ClInclude>
  729. + <ClInclude Include="..\..\src\lib\platform\util\timeutils.h">
  730. + <Filter>platform\util</Filter>
  731. + </ClInclude>
  732. + <ClInclude Include="..\..\src\lib\platform\threads\mutex.h">
  733. + <Filter>platform\threads</Filter>
  734. + </ClInclude>
  735. + <ClInclude Include="..\..\src\lib\platform\threads\threads.h">
  736. + <Filter>platform\threads</Filter>
  737. + </ClInclude>
  738. + <ClInclude Include="..\..\src\lib\platform\windows\os-socket.h">
  739. + <Filter>platform\windows</Filter>
  740. + </ClInclude>
  741. + <ClInclude Include="..\..\src\lib\platform\windows\os-threads.h">
  742. + <Filter>platform\windows</Filter>
  743. + </ClInclude>
  744. + <ClInclude Include="..\..\src\lib\platform\windows\os-types.h">
  745. + <Filter>platform\windows</Filter>
  746. + </ClInclude>
  747. + <ClInclude Include="..\..\src\lib\platform\windows\stdint.h">
  748. + <Filter>platform\windows</Filter>
  749. + </ClInclude>
  750. + <ClInclude Include="..\..\src\lib\implementations\RLCommandHandler.h">
  751. + <Filter>implementations</Filter>
  752. + </ClInclude>
  753. + <ClInclude Include="..\..\src\lib\implementations\PHCommandHandler.h">
  754. + <Filter>implementations</Filter>
  755. + </ClInclude>
  756. + <ClInclude Include="..\..\src\lib\CECClient.h" />
  757. + <ClInclude Include="..\..\src\lib\CECInputBuffer.h" />
  758. + <ClInclude Include="..\..\src\lib\devices\CECDeviceMap.h">
  759. + <Filter>devices</Filter>
  760. + </ClInclude>
  761. + <ClInclude Include="..\..\src\lib\CECTypeUtils.h" />
  762. + <ClInclude Include="..\..\src\lib\platform\util\edid.h">
  763. + <Filter>platform\util</Filter>
  764. + </ClInclude>
  765. + <ClInclude Include="..\..\src\lib\platform\adl\adl_defines.h">
  766. + <Filter>platform\adl</Filter>
  767. + </ClInclude>
  768. + <ClInclude Include="..\..\src\lib\platform\adl\adl_sdk.h">
  769. + <Filter>platform\adl</Filter>
  770. + </ClInclude>
  771. + <ClInclude Include="..\..\src\lib\platform\adl\adl_structures.h">
  772. + <Filter>platform\adl</Filter>
  773. + </ClInclude>
  774. + <ClInclude Include="..\..\src\lib\platform\adl\adl-edid.h">
  775. + <Filter>platform\adl</Filter>
  776. + </ClInclude>
  777. + <ClInclude Include="..\..\src\lib\platform\windows\dlfcn-win32.h">
  778. + <Filter>platform\windows</Filter>
  779. + </ClInclude>
  780. + <ClInclude Include="..\..\src\lib\platform\nvidia\nv-edid.h">
  781. + <Filter>platform\nvidia</Filter>
  782. + </ClInclude>
  783. + <ClInclude Include="..\..\src\lib\adapter\AdapterCommunication.h">
  784. + <Filter>adapter</Filter>
  785. + </ClInclude>
  786. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.h">
  787. + <Filter>adapter\Pulse-Eight</Filter>
  788. + </ClInclude>
  789. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.h">
  790. + <Filter>adapter\Pulse-Eight</Filter>
  791. + </ClInclude>
  792. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.h">
  793. + <Filter>adapter\Pulse-Eight</Filter>
  794. + </ClInclude>
  795. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.h">
  796. + <Filter>adapter\Pulse-Eight</Filter>
  797. + </ClInclude>
  798. + <ClInclude Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.h">
  799. + <Filter>adapter\Pulse-Eight</Filter>
  800. + </ClInclude>
  801. + <ClInclude Include="..\..\src\lib\adapter\AdapterFactory.h">
  802. + <Filter>adapter</Filter>
  803. + </ClInclude>
  804. + <ClInclude Include="resource.h" />
  805. + </ItemGroup>
  806. + <ItemGroup>
  807. + <ClCompile Include="..\..\src\lib\CECProcessor.cpp" />
  808. + <ClCompile Include="..\..\src\lib\LibCEC.cpp" />
  809. + <ClCompile Include="..\..\src\lib\LibCECC.cpp" />
  810. + <ClCompile Include="..\..\src\lib\LibCECDll.cpp" />
  811. + <ClCompile Include="..\..\src\lib\implementations\ANCommandHandler.cpp">
  812. + <Filter>implementations</Filter>
  813. + </ClCompile>
  814. + <ClCompile Include="..\..\src\lib\implementations\CECCommandHandler.cpp">
  815. + <Filter>implementations</Filter>
  816. + </ClCompile>
  817. + <ClCompile Include="..\..\src\lib\implementations\SLCommandHandler.cpp">
  818. + <Filter>implementations</Filter>
  819. + </ClCompile>
  820. + <ClCompile Include="..\..\src\lib\devices\CECBusDevice.cpp">
  821. + <Filter>devices</Filter>
  822. + </ClCompile>
  823. + <ClCompile Include="..\..\src\lib\implementations\VLCommandHandler.cpp">
  824. + <Filter>implementations</Filter>
  825. + </ClCompile>
  826. + <ClCompile Include="..\..\src\lib\implementations\RHCommandHandler.cpp">
  827. + <Filter>implementations</Filter>
  828. + </ClCompile>
  829. + <ClCompile Include="..\..\src\lib\implementations\AQCommandHandler.cpp">
  830. + <Filter>implementations</Filter>
  831. + </ClCompile>
  832. + <ClCompile Include="..\..\src\lib\devices\CECAudioSystem.cpp">
  833. + <Filter>devices</Filter>
  834. + </ClCompile>
  835. + <ClCompile Include="..\..\src\lib\devices\CECPlaybackDevice.cpp">
  836. + <Filter>devices</Filter>
  837. + </ClCompile>
  838. + <ClCompile Include="..\..\src\lib\devices\CECRecordingDevice.cpp">
  839. + <Filter>devices</Filter>
  840. + </ClCompile>
  841. + <ClCompile Include="..\..\src\lib\devices\CECTuner.cpp">
  842. + <Filter>devices</Filter>
  843. + </ClCompile>
  844. + <ClCompile Include="..\..\src\lib\devices\CECTV.cpp">
  845. + <Filter>devices</Filter>
  846. + </ClCompile>
  847. + <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp">
  848. + <Filter>platform\windows</Filter>
  849. + </ClCompile>
  850. + <ClCompile Include="..\..\src\lib\platform\windows\serialport.cpp">
  851. + <Filter>platform\windows</Filter>
  852. + </ClCompile>
  853. + <ClCompile Include="..\..\src\lib\implementations\RLCommandHandler.cpp">
  854. + <Filter>implementations</Filter>
  855. + </ClCompile>
  856. + <ClCompile Include="..\..\src\lib\implementations\PHCommandHandler.cpp">
  857. + <Filter>implementations</Filter>
  858. + </ClCompile>
  859. + <ClCompile Include="..\..\src\lib\CECClient.cpp" />
  860. + <ClCompile Include="..\..\src\lib\devices\CECDeviceMap.cpp">
  861. + <Filter>devices</Filter>
  862. + </ClCompile>
  863. + <ClCompile Include="..\..\src\lib\platform\windows\os-edid.cpp">
  864. + <Filter>platform\windows</Filter>
  865. + </ClCompile>
  866. + <ClCompile Include="..\..\src\lib\platform\adl\adl-edid.cpp">
  867. + <Filter>platform\adl</Filter>
  868. + </ClCompile>
  869. + <ClCompile Include="..\..\src\lib\platform\windows\dlfcn-win32.cpp">
  870. + <Filter>platform\windows</Filter>
  871. + </ClCompile>
  872. + <ClCompile Include="..\..\src\lib\platform\nvidia\nv-edid.cpp">
  873. + <Filter>platform\nvidia</Filter>
  874. + </ClCompile>
  875. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommands.cpp">
  876. + <Filter>adapter\Pulse-Eight</Filter>
  877. + </ClCompile>
  878. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterCommunication.cpp">
  879. + <Filter>adapter\Pulse-Eight</Filter>
  880. + </ClCompile>
  881. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterDetection.cpp">
  882. + <Filter>adapter\Pulse-Eight</Filter>
  883. + </ClCompile>
  884. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessage.cpp">
  885. + <Filter>adapter\Pulse-Eight</Filter>
  886. + </ClCompile>
  887. + <ClCompile Include="..\..\src\lib\adapter\Pulse-Eight\USBCECAdapterMessageQueue.cpp">
  888. + <Filter>adapter\Pulse-Eight</Filter>
  889. + </ClCompile>
  890. + <ClCompile Include="..\..\src\lib\adapter\AdapterFactory.cpp">
  891. + <Filter>adapter</Filter>
  892. + </ClCompile>
  893. + </ItemGroup>
  894. + <ItemGroup>
  895. + <ResourceCompile Include="libcec.rc" />
  896. + </ItemGroup>
  897. +</Project>
  898. \ Kein Zeilenumbruch am Dateiende.
  899. Binärdateien libcec-2.1.4/project/libcec/resource.h und libcec-imx6/project/libcec/resource.h sind verschieden.
  900. diff -Nur libcec-2.1.4/project/libCEC.nsi libcec-imx6/project/libCEC.nsi
  901. --- libcec-2.1.4/project/libCEC.nsi 1970-01-01 01:00:00.000000000 +0100
  902. +++ libcec-imx6/project/libCEC.nsi 2014-09-01 13:48:53.702431449 +0200
  903. @@ -0,0 +1,342 @@
  904. +;libCEC installer
  905. +;Copyright (C) 2011-2013 Pulse-Eight Ltd.
  906. +;http://www.pulse-eight.com/
  907. +
  908. +!include "MUI2.nsh"
  909. +!include "nsDialogs.nsh"
  910. +!include "LogicLib.nsh"
  911. +!include "x64.nsh"
  912. +
  913. +Name "Pulse-Eight libCEC"
  914. +OutFile "..\build\libCEC-installer.exe"
  915. +
  916. +XPStyle on
  917. +InstallDir "$PROGRAMFILES\Pulse-Eight\USB-CEC Adapter"
  918. +InstallDirRegKey HKLM "Software\Pulse-Eight\USB-CEC Adapter software" ""
  919. +RequestExecutionLevel admin
  920. +Var StartMenuFolder
  921. +Var VSRedistSetupError
  922. +Var VSRedistInstalled
  923. +
  924. +!define MUI_FINISHPAGE_LINK "Visit http://libcec.pulse-eight.com/ for more information."
  925. +!define MUI_FINISHPAGE_LINK_LOCATION "http://libcec.pulse-eight.com/"
  926. +!define MUI_ABORTWARNING
  927. +
  928. +!insertmacro MUI_PAGE_WELCOME
  929. +!insertmacro MUI_PAGE_LICENSE "..\COPYING"
  930. +!insertmacro MUI_PAGE_COMPONENTS
  931. +!insertmacro MUI_PAGE_DIRECTORY
  932. +
  933. +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
  934. +!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Pulse-Eight\USB-CEC Adapter sofware"
  935. +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
  936. +!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
  937. +
  938. +!insertmacro MUI_PAGE_INSTFILES
  939. +!insertmacro MUI_PAGE_FINISH
  940. +
  941. +!insertmacro MUI_UNPAGE_WELCOME
  942. +!insertmacro MUI_UNPAGE_CONFIRM
  943. +!insertmacro MUI_UNPAGE_INSTFILES
  944. +!insertmacro MUI_UNPAGE_FINISH
  945. +
  946. +!insertmacro MUI_LANGUAGE "English"
  947. +
  948. +InstType "USB-CEC Driver & libCEC"
  949. +InstType "USB-CEC Driver Only"
  950. +InstType "Full installation"
  951. +
  952. +Section "USB-CEC Driver" SecDriver
  953. + SetShellVarContext current
  954. + SectionIn RO
  955. + SectionIn 1 2 3
  956. +
  957. + ; Uninstall the old unsigned software if it's found
  958. + ReadRegStr $1 HKCU "Software\libCEC" ""
  959. + ${If} $1 != ""
  960. + MessageBox MB_OK \
  961. + "A previous libCEC and USB-CEC Driver was found. This update requires the old version to be uninstalled. Press OK to uninstall the old version."
  962. + ExecWait '"$1\Uninstall.exe" /S _?=$1'
  963. + Delete "$1\Uninstall.exe"
  964. + RMDir "$1"
  965. + ${EndIf}
  966. +
  967. + ; Delete libcec.dll and libcec.x64.dll from the system directory
  968. + ; Let a seperate installer do this, when we need it
  969. + Delete "$SYSDIR\libcec.dll"
  970. + ${If} ${RunningX64}
  971. + Delete "$SYSDIR\libcec.x64.dll"
  972. + ${EndIf}
  973. +
  974. + ; Copy to the installation directory
  975. + SetOutPath "$INSTDIR"
  976. + File "..\AUTHORS"
  977. + File "..\COPYING"
  978. +
  979. + ; Copy the driver installer
  980. + SetOutPath "$INSTDIR\driver"
  981. + File "..\build\p8-usbcec-driver-installer.exe"
  982. +
  983. + ;Store installation folder
  984. + WriteRegStr HKLM "Software\Pulse-Eight\USB-CEC Adapter software" "" $INSTDIR
  985. +
  986. + ;Create uninstaller
  987. + WriteUninstaller "$INSTDIR\Uninstall.exe"
  988. +
  989. + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  990. + SetOutPath "$INSTDIR"
  991. +
  992. + CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
  993. + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall Pulse-Eight USB-CEC Adapter software.lnk" "$INSTDIR\Uninstall.exe" \
  994. + "" "$INSTDIR\Uninstall.exe" 0 SW_SHOWNORMAL \
  995. + "" "Uninstall Pulse-Eight USB-CEC Adapter software."
  996. +
  997. + WriteINIStr "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url" "InternetShortcut" "URL" "http://www.pulse-eight.com/"
  998. + !insertmacro MUI_STARTMENU_WRITE_END
  999. +
  1000. + ;add entry to add/remove programs
  1001. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1002. + "DisplayName" "Pulse-Eight USB-CEC Adapter software"
  1003. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1004. + "UninstallString" "$INSTDIR\uninstall.exe"
  1005. + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1006. + "NoModify" 1
  1007. + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1008. + "NoRepair" 1
  1009. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1010. + "InstallLocation" "$INSTDIR"
  1011. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1012. + "DisplayIcon" "$INSTDIR\cec-client.exe,0"
  1013. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1014. + "Publisher" "Pulse-Eight Limited"
  1015. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1016. + "HelpLink" "http://www.pulse-eight.com/"
  1017. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter sofware" \
  1018. + "URLInfoAbout" "http://www.pulse-eight.com"
  1019. +
  1020. + ;install driver
  1021. + ExecWait '"$INSTDIR\driver\p8-usbcec-driver-installer.exe" /S'
  1022. + Delete "$INSTDIR\driver\p8-usbcec-driver-installer.exe"
  1023. +SectionEnd
  1024. +
  1025. +Section "libCEC" SecLibCec
  1026. + SetShellVarContext current
  1027. + SectionIn 1 3
  1028. +
  1029. + ; Copy to the installation directory
  1030. + SetOutPath "$INSTDIR"
  1031. + File "..\ChangeLog"
  1032. + File "..\README"
  1033. + File "..\build\*.dll"
  1034. + File "..\build\*.xml"
  1035. + SetOutPath "$INSTDIR\x64"
  1036. + File /nonfatal "..\build\x64\*.dll"
  1037. + File /nonfatal "..\build\x64\*.xml"
  1038. +
  1039. + ; Copy to XBMC\system
  1040. + ReadRegStr $1 HKCU "Software\XBMC" ""
  1041. + ${If} $1 != ""
  1042. + SetOutPath "$1\system"
  1043. + File "..\build\libcec.dll"
  1044. + ${EndIf}
  1045. +
  1046. + ; Copy the headers
  1047. + SetOutPath "$INSTDIR\include"
  1048. + File /r /x *.so "..\include\cec*.*"
  1049. +SectionEnd
  1050. +
  1051. +Section "CEC Debug Client" SecCecClient
  1052. + SetShellVarContext current
  1053. + SectionIn 3
  1054. +
  1055. + ; Copy to the installation directory
  1056. + SetOutPath "$INSTDIR"
  1057. + File /x p8-usbcec-driver-installer.exe /x cec-tray.exe "..\build\*.exe"
  1058. + SetOutPath "$INSTDIR\x64"
  1059. + File /nonfatal "..\build\x64\*.exe"
  1060. +
  1061. + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  1062. + SetOutPath "$INSTDIR"
  1063. +
  1064. + CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
  1065. + ${If} ${RunningX64}
  1066. + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk" "$INSTDIR\x64\cec-client.exe" \
  1067. + "" "$INSTDIR\x64\cec-client.exe" 0 SW_SHOWNORMAL \
  1068. + "" "Start the CEC Test client (x64)."
  1069. + ${Else}
  1070. + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk" "$INSTDIR\cec-client.exe" \
  1071. + "" "$INSTDIR\cec-client.exe" 0 SW_SHOWNORMAL \
  1072. + "" "Start the CEC Test client."
  1073. + ${EndIf}
  1074. + !insertmacro MUI_STARTMENU_WRITE_END
  1075. +
  1076. +SectionEnd
  1077. +
  1078. +Section "libCEC Tray Application" SecCecTray
  1079. + SetShellVarContext current
  1080. + SectionIn 1 3
  1081. +
  1082. + ; Uninstall previous beta builds of the tray application
  1083. + ReadRegStr $1 HKLM "Software\Pulse-Eight\libCECTray" ""
  1084. + ${If} $1 != ""
  1085. + MessageBox MB_OK \
  1086. + "A previous beta build of the libCEC Tray Application was found. Press OK to uninstall the old version. Do not uninstall the driver when asked to. Thank you for participating in the beta test."
  1087. + ExecWait '"$1\Uninstall.exe" /S _?=$1'
  1088. + Delete "$1\Uninstall.exe"
  1089. + ${EndIf}
  1090. +
  1091. + ; Replace cec-config-gui.exe
  1092. + Delete "$INSTDIR\cec-config-gui.exe"
  1093. + ${If} ${RunningX64}
  1094. + Delete "$INSTDIR\x64\cec-config-gui.exe"
  1095. + ${EndIf}
  1096. + Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration.lnk"
  1097. + ${If} ${RunningX64}
  1098. + Delete "$SMPROGRAMS\$StartMenuFolder\CEC Adapter Configuration (x64).lnk"
  1099. + ${EndIf}
  1100. +
  1101. + ; Copy to the installation directory
  1102. + SetOutPath "$INSTDIR"
  1103. + File "..\build\cec-tray.exe"
  1104. + SetOutPath "$INSTDIR\x64"
  1105. + File /nonfatal "..\build\x64\cec-tray.exe"
  1106. +
  1107. + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  1108. + SetOutPath "$INSTDIR"
  1109. +
  1110. + CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
  1111. + ${If} ${RunningX64}
  1112. + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\libCEC Tray (x64).lnk" "$INSTDIR\x64\cec-tray.exe" \
  1113. + "" "$INSTDIR\x64\cec-tray.exe" 0 SW_SHOWNORMAL \
  1114. + "" "Start the libCEC Tray (x64)."
  1115. + ${Else}
  1116. + CreateShortCut "$SMPROGRAMS\$StartMenuFolder\libCEC Tray.lnk" "$INSTDIR\cec-tray.exe" \
  1117. + "" "$INSTDIR\cec-tray.exe" 0 SW_SHOWNORMAL \
  1118. + "" "Start the libCEC Tray."
  1119. + ${EndIf}
  1120. + !insertmacro MUI_STARTMENU_WRITE_END
  1121. +
  1122. +SectionEnd
  1123. +
  1124. +!define REDISTRIBUTABLE_SECTIONNAME "Microsoft Visual C++ 2010 Redistributable Package"
  1125. +Section "" SecVCRedist
  1126. + SetShellVarContext current
  1127. + SectionIn 1 3
  1128. +
  1129. +
  1130. + ${If} $VSRedistInstalled != "Yes"
  1131. + ; Download redistributable
  1132. + SetOutPath "$TEMP\vc20XX"
  1133. + ${If} ${RunningX64}
  1134. + NSISdl::download http://packages.pulse-eight.net/windows/vcredist_x64.exe vcredist_x64.exe
  1135. + ExecWait '"$TEMP\vc20XX\vcredist_x64.exe" /q' $VSRedistSetupError
  1136. + ${Else}
  1137. + NSISdl::download http://packages.pulse-eight.net/windows/vcredist_x86.exe vcredist_x86.exe
  1138. + ExecWait '"$TEMP\vc20XX\vcredist_x86.exe" /q' $VSRedistSetupError
  1139. + ${Endif}
  1140. + RMDIR /r "$TEMP\vc20XX"
  1141. + ${Endif}
  1142. +
  1143. +SectionEnd
  1144. +
  1145. +Function .onInit
  1146. +
  1147. + ; SP0 x86
  1148. + ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{196BB40D-1578-3D01-B289-BEFC77A11A1E}" "Version"
  1149. + ${If} $1 != ""
  1150. + StrCpy $VSRedistInstalled "Yes"
  1151. + ${Endif}
  1152. +
  1153. + ; SP0 x64
  1154. + ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}" "Version"
  1155. + ${If} $1 != ""
  1156. + StrCpy $VSRedistInstalled "Yes"
  1157. + ${Endif}
  1158. +
  1159. + ; SP0 ia64
  1160. + ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C1A35166-4301-38E9-BA67-02823AD72A1B}" "Version"
  1161. + ${If} $1 != ""
  1162. + StrCpy $VSRedistInstalled "Yes"
  1163. + ${Endif}
  1164. +
  1165. + ; SP1 x86
  1166. + ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}" "Version"
  1167. + ${If} $1 != ""
  1168. + StrCpy $VSRedistInstalled "Yes"
  1169. + ${Endif}
  1170. +
  1171. + ; SP1 x64
  1172. + ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1D8E6291-B0D5-35EC-8441-6616F567A0F7}" "Version"
  1173. + ${If} $1 != ""
  1174. + StrCpy $VSRedistInstalled "Yes"
  1175. + ${Endif}
  1176. +
  1177. + ; SP1 ia64
  1178. + ReadRegDword $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{88C73C1C-2DE5-3B01-AFB8-B46EF4AB41CD}" "Version"
  1179. + ${If} $1 != ""
  1180. + StrCpy $VSRedistInstalled "Yes"
  1181. + ${Endif}
  1182. +
  1183. + ${If} $VSRedistInstalled == "Yes"
  1184. + !insertMacro UnSelectSection ${SecVCRedist}
  1185. + SectionSetText ${SecVCRedist} ""
  1186. + ${Else}
  1187. + !insertMacro SelectSection ${SecVCRedist}
  1188. + SectionSetText ${SecVCRedist} "${REDISTRIBUTABLE_SECTIONNAME}"
  1189. + ${Endif}
  1190. +
  1191. +FunctionEnd
  1192. +
  1193. +;--------------------------------
  1194. +;Uninstaller Section
  1195. +
  1196. +Section "Uninstall"
  1197. +
  1198. + SetShellVarContext current
  1199. +
  1200. + Delete "$INSTDIR\AUTHORS"
  1201. + Delete "$INSTDIR\*.exe"
  1202. + Delete "$INSTDIR\ChangeLog"
  1203. + Delete "$INSTDIR\COPYING"
  1204. + Delete "$INSTDIR\*.dll"
  1205. + Delete "$INSTDIR\*.lib"
  1206. + Delete "$INSTDIR\*.xml"
  1207. + Delete "$INSTDIR\x64\*.dll"
  1208. + Delete "$INSTDIR\x64\*.lib"
  1209. + Delete "$INSTDIR\x64\*.exe"
  1210. + Delete "$INSTDIR\x64\*.xml"
  1211. + Delete "$INSTDIR\README"
  1212. + Delete "$SYSDIR\libcec.dll"
  1213. + ${If} ${RunningX64}
  1214. + Delete "$SYSDIR\libcec.x64.dll"
  1215. + ${EndIf}
  1216. +
  1217. + ; Uninstall the driver
  1218. + ReadRegStr $1 HKLM "Software\Pulse-Eight\USB-CEC Adapter driver" ""
  1219. + ${If} $1 != ""
  1220. + ExecWait '"$1\Uninstall.exe" /S _?=$1'
  1221. + ${EndIf}
  1222. +
  1223. + RMDir /r "$INSTDIR\include"
  1224. + Delete "$INSTDIR\Uninstall.exe"
  1225. + RMDir /r "$INSTDIR"
  1226. + RMDir "$PROGRAMFILES\Pulse-Eight"
  1227. +
  1228. + !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
  1229. + Delete "$SMPROGRAMS\$StartMenuFolder\libCEC Tray.lnk"
  1230. + ${If} ${RunningX64}
  1231. + Delete "$SMPROGRAMS\$StartMenuFolder\libCEC Tray (x64).lnk"
  1232. + ${EndIf}
  1233. + Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client.lnk"
  1234. + ${If} ${RunningX64}
  1235. + Delete "$SMPROGRAMS\$StartMenuFolder\CEC Test client (x64).lnk"
  1236. + ${EndIf}
  1237. + Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall Pulse-Eight USB-CEC Adapter software.lnk"
  1238. + Delete "$SMPROGRAMS\$StartMenuFolder\Visit Pulse-Eight.url"
  1239. + RMDir "$SMPROGRAMS\$StartMenuFolder"
  1240. +
  1241. + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter software"
  1242. + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver"
  1243. + DeleteRegKey /ifempty HKLM "Software\Pulse-Eight\USB-CEC Adapter software"
  1244. + DeleteRegKey /ifempty HKLM "Software\Pulse-Eight"
  1245. +SectionEnd
  1246. Binärdateien libcec-2.1.4/project/LibCecSharp/LibCecSharp.rc und libcec-imx6/project/LibCecSharp/LibCecSharp.rc sind verschieden.
  1247. diff -Nur libcec-2.1.4/project/LibCecSharp/LibCecSharp.vcxproj libcec-imx6/project/LibCecSharp/LibCecSharp.vcxproj
  1248. --- libcec-2.1.4/project/LibCecSharp/LibCecSharp.vcxproj 1970-01-01 01:00:00.000000000 +0100
  1249. +++ libcec-imx6/project/LibCecSharp/LibCecSharp.vcxproj 2014-09-01 13:48:53.702431449 +0200
  1250. @@ -0,0 +1,208 @@
  1251. +<?xml version="1.0" encoding="utf-8"?>
  1252. +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  1253. + <ItemGroup Label="ProjectConfigurations">
  1254. + <ProjectConfiguration Include="Debug|Win32">
  1255. + <Configuration>Debug</Configuration>
  1256. + <Platform>Win32</Platform>
  1257. + </ProjectConfiguration>
  1258. + <ProjectConfiguration Include="Debug|x64">
  1259. + <Configuration>Debug</Configuration>
  1260. + <Platform>x64</Platform>
  1261. + </ProjectConfiguration>
  1262. + <ProjectConfiguration Include="Release|Win32">
  1263. + <Configuration>Release</Configuration>
  1264. + <Platform>Win32</Platform>
  1265. + </ProjectConfiguration>
  1266. + <ProjectConfiguration Include="Release|x64">
  1267. + <Configuration>Release</Configuration>
  1268. + <Platform>x64</Platform>
  1269. + </ProjectConfiguration>
  1270. + </ItemGroup>
  1271. + <PropertyGroup Label="Globals">
  1272. + <ProjectGuid>{E54D4581-CD59-4687-BB10-694B8192EABA}</ProjectGuid>
  1273. + <RootNamespace>LibCecSharp</RootNamespace>
  1274. + <Keyword>ManagedCProj</Keyword>
  1275. + <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
  1276. + </PropertyGroup>
  1277. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  1278. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
  1279. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  1280. + <PlatformToolset>v90</PlatformToolset>
  1281. + <CharacterSet>Unicode</CharacterSet>
  1282. + <CLRSupport>true</CLRSupport>
  1283. + <WholeProgramOptimization>true</WholeProgramOptimization>
  1284. + </PropertyGroup>
  1285. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
  1286. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  1287. + <PlatformToolset>v90</PlatformToolset>
  1288. + <CharacterSet>Unicode</CharacterSet>
  1289. + <CLRSupport>true</CLRSupport>
  1290. + </PropertyGroup>
  1291. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
  1292. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  1293. + <PlatformToolset>v90</PlatformToolset>
  1294. + <CharacterSet>Unicode</CharacterSet>
  1295. + <CLRSupport>true</CLRSupport>
  1296. + <WholeProgramOptimization>true</WholeProgramOptimization>
  1297. + </PropertyGroup>
  1298. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
  1299. + <ConfigurationType>DynamicLibrary</ConfigurationType>
  1300. + <PlatformToolset>v90</PlatformToolset>
  1301. + <CharacterSet>Unicode</CharacterSet>
  1302. + <CLRSupport>true</CLRSupport>
  1303. + </PropertyGroup>
  1304. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  1305. + <ImportGroup Label="ExtensionSettings">
  1306. + </ImportGroup>
  1307. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
  1308. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1309. + </ImportGroup>
  1310. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
  1311. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1312. + </ImportGroup>
  1313. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
  1314. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1315. + </ImportGroup>
  1316. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
  1317. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1318. + </ImportGroup>
  1319. + <PropertyGroup Label="UserMacros" />
  1320. + <PropertyGroup>
  1321. + <_ProjectFileVersion>11.0.50727.1</_ProjectFileVersion>
  1322. + </PropertyGroup>
  1323. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  1324. + <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
  1325. + <OutDir>$(SolutionDir)..\build\</OutDir>
  1326. + <IntDir>$(Configuration)\</IntDir>
  1327. + </PropertyGroup>
  1328. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  1329. + <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
  1330. + <OutDir>$(SolutionDir)..\build\x64\</OutDir>
  1331. + <IntDir>$(Platform)\$(Configuration)\</IntDir>
  1332. + <LinkIncremental>true</LinkIncremental>
  1333. + </PropertyGroup>
  1334. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  1335. + <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
  1336. + <OutDir>$(SolutionDir)..\build\</OutDir>
  1337. + <IntDir>$(Configuration)\</IntDir>
  1338. + <LinkIncremental>false</LinkIncremental>
  1339. + </PropertyGroup>
  1340. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  1341. + <ReferencePath>$(SolutionDir)..;$(ReferencePath)</ReferencePath>
  1342. + <OutDir>$(SolutionDir)..\build\x64\</OutDir>
  1343. + <IntDir>$(Platform)\$(Configuration)\</IntDir>
  1344. + </PropertyGroup>
  1345. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  1346. + <Midl>
  1347. + <TargetEnvironment>X64</TargetEnvironment>
  1348. + </Midl>
  1349. + <ClCompile>
  1350. + <Optimization>Disabled</Optimization>
  1351. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  1352. + <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  1353. + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  1354. + <PrecompiledHeader />
  1355. + <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
  1356. + <WarningLevel>Level3</WarningLevel>
  1357. + <TreatWarningAsError>true</TreatWarningAsError>
  1358. + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  1359. + </ClCompile>
  1360. + <Link>
  1361. + <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
  1362. + <GenerateDebugInformation>true</GenerateDebugInformation>
  1363. + <AssemblyDebug>true</AssemblyDebug>
  1364. + <TargetMachine>MachineX86</TargetMachine>
  1365. + </Link>
  1366. + </ItemDefinitionGroup>
  1367. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  1368. + <Midl>
  1369. + <TargetEnvironment>X64</TargetEnvironment>
  1370. + </Midl>
  1371. + <ClCompile>
  1372. + <Optimization>Disabled</Optimization>
  1373. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  1374. + <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  1375. + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
  1376. + <PrecompiledHeader />
  1377. + <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
  1378. + <WarningLevel>Level3</WarningLevel>
  1379. + <TreatWarningAsError>true</TreatWarningAsError>
  1380. + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  1381. + </ClCompile>
  1382. + <Link>
  1383. + <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
  1384. + <GenerateDebugInformation>true</GenerateDebugInformation>
  1385. + <AssemblyDebug>true</AssemblyDebug>
  1386. + <TargetMachine>MachineX64</TargetMachine>
  1387. + </Link>
  1388. + </ItemDefinitionGroup>
  1389. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  1390. + <Midl>
  1391. + <TargetEnvironment>X64</TargetEnvironment>
  1392. + </Midl>
  1393. + <ClCompile>
  1394. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  1395. + <PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  1396. + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  1397. + <PrecompiledHeader />
  1398. + <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
  1399. + <WarningLevel>Level3</WarningLevel>
  1400. + <TreatWarningAsError>true</TreatWarningAsError>
  1401. + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  1402. + </ClCompile>
  1403. + <Link>
  1404. + <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
  1405. + <GenerateDebugInformation>true</GenerateDebugInformation>
  1406. + <TargetMachine>MachineX86</TargetMachine>
  1407. + </Link>
  1408. + </ItemDefinitionGroup>
  1409. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  1410. + <Midl>
  1411. + <TargetEnvironment>X64</TargetEnvironment>
  1412. + </Midl>
  1413. + <ClCompile>
  1414. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;$(SolutionDir)..\src\lib\platform\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  1415. + <PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  1416. + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
  1417. + <PrecompiledHeader />
  1418. + <GenerateXMLDocumentationFiles>true</GenerateXMLDocumentationFiles>
  1419. + <WarningLevel>Level3</WarningLevel>
  1420. + <TreatWarningAsError>true</TreatWarningAsError>
  1421. + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
  1422. + </ClCompile>
  1423. + <Link>
  1424. + <AdditionalDependencies>$(OutDir)libcec.lib;%(AdditionalDependencies)</AdditionalDependencies>
  1425. + </Link>
  1426. + </ItemDefinitionGroup>
  1427. + <ItemGroup>
  1428. + <Reference Include="System">
  1429. + <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
  1430. + <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
  1431. + </Reference>
  1432. + <Reference Include="System.Data">
  1433. + <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
  1434. + <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
  1435. + </Reference>
  1436. + <Reference Include="System.Xml">
  1437. + <CopyLocalSatelliteAssemblies>true</CopyLocalSatelliteAssemblies>
  1438. + <ReferenceOutputAssembly>true</ReferenceOutputAssembly>
  1439. + </Reference>
  1440. + </ItemGroup>
  1441. + <ItemGroup>
  1442. + <ClCompile Include="..\..\src\LibCecSharp\AssemblyInfo.cpp" />
  1443. + <ClCompile Include="..\..\src\LibCecSharp\LibCecSharp.cpp" />
  1444. + </ItemGroup>
  1445. + <ItemGroup>
  1446. + <ClInclude Include="..\..\include\cec.h" />
  1447. + <ClInclude Include="..\..\src\LibCecSharp\CecSharpTypes.h" />
  1448. + <ClInclude Include="..\..\include\cectypes.h" />
  1449. + <ClInclude Include="..\..\src\lib\platform\windows\stdint.h" />
  1450. + <ClInclude Include="resource.h" />
  1451. + </ItemGroup>
  1452. + <ItemGroup>
  1453. + <ResourceCompile Include="LibCecSharp.rc" />
  1454. + </ItemGroup>
  1455. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  1456. + <ImportGroup Label="ExtensionTargets">
  1457. + </ImportGroup>
  1458. +</Project>
  1459. \ Kein Zeilenumbruch am Dateiende.
  1460. diff -Nur libcec-2.1.4/project/LibCecSharp/LibCecSharp.vcxproj.filters libcec-imx6/project/LibCecSharp/LibCecSharp.vcxproj.filters
  1461. --- libcec-2.1.4/project/LibCecSharp/LibCecSharp.vcxproj.filters 1970-01-01 01:00:00.000000000 +0100
  1462. +++ libcec-imx6/project/LibCecSharp/LibCecSharp.vcxproj.filters 2014-09-01 13:48:53.702431449 +0200
  1463. @@ -0,0 +1,41 @@
  1464. +<?xml version="1.0" encoding="utf-8"?>
  1465. +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  1466. + <ItemGroup>
  1467. + <Filter Include="Source Files">
  1468. + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
  1469. + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
  1470. + </Filter>
  1471. + <Filter Include="Header Files">
  1472. + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
  1473. + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
  1474. + </Filter>
  1475. + </ItemGroup>
  1476. + <ItemGroup>
  1477. + <ClCompile Include="..\..\src\LibCecSharp\AssemblyInfo.cpp">
  1478. + <Filter>Source Files</Filter>
  1479. + </ClCompile>
  1480. + <ClCompile Include="..\..\src\LibCecSharp\LibCecSharp.cpp">
  1481. + <Filter>Source Files</Filter>
  1482. + </ClCompile>
  1483. + </ItemGroup>
  1484. + <ItemGroup>
  1485. + <ClInclude Include="..\..\include\cec.h">
  1486. + <Filter>Header Files</Filter>
  1487. + </ClInclude>
  1488. + <ClInclude Include="..\..\src\LibCecSharp\CecSharpTypes.h">
  1489. + <Filter>Header Files</Filter>
  1490. + </ClInclude>
  1491. + <ClInclude Include="..\..\include\cectypes.h">
  1492. + <Filter>Header Files</Filter>
  1493. + </ClInclude>
  1494. + <ClInclude Include="..\..\src\lib\platform\windows\stdint.h">
  1495. + <Filter>Header Files</Filter>
  1496. + </ClInclude>
  1497. + <ClInclude Include="resource.h">
  1498. + <Filter>Header Files</Filter>
  1499. + </ClInclude>
  1500. + </ItemGroup>
  1501. + <ItemGroup>
  1502. + <ResourceCompile Include="LibCecSharp.rc" />
  1503. + </ItemGroup>
  1504. +</Project>
  1505. \ Kein Zeilenumbruch am Dateiende.
  1506. Binärdateien libcec-2.1.4/project/LibCecSharp/resource.h und libcec-imx6/project/LibCecSharp/resource.h sind verschieden.
  1507. diff -Nur libcec-2.1.4/project/libcec.sln libcec-imx6/project/libcec.sln
  1508. --- libcec-2.1.4/project/libcec.sln 1970-01-01 01:00:00.000000000 +0100
  1509. +++ libcec-imx6/project/libcec.sln 2014-09-01 13:48:53.702431449 +0200
  1510. @@ -0,0 +1,74 @@
  1511. +
  1512. +Microsoft Visual Studio Solution File, Format Version 12.00
  1513. +# Visual Studio 2012
  1514. +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcec", "libcec\libcec.vcxproj", "{C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}"
  1515. +EndProject
  1516. +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testclient", "testclient\testclient.vcxproj", "{F01222BF-6B3D-43BD-B254-434031CB9887}"
  1517. + ProjectSection(ProjectDependencies) = postProject
  1518. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0} = {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}
  1519. + EndProjectSection
  1520. +EndProject
  1521. +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibCecSharp", "LibCecSharp\LibCecSharp.vcxproj", "{E54D4581-CD59-4687-BB10-694B8192EABA}"
  1522. + ProjectSection(ProjectDependencies) = postProject
  1523. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0} = {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}
  1524. + EndProjectSection
  1525. +EndProject
  1526. +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B119505D-5CD1-48E4-BED1-9C2BF26153D5}"
  1527. +EndProject
  1528. +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CecSharpTester", "..\src\CecSharpTester\CecSharpTester.csproj", "{B6A7F3A9-F47C-41E5-9754-0BFF233B1172}"
  1529. +EndProject
  1530. +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibCECTray", "..\src\LibCecTray\LibCECTray.csproj", "{58C106FE-C159-46D3-97E1-73AB83232670}"
  1531. +EndProject
  1532. +Global
  1533. + GlobalSection(SolutionConfigurationPlatforms) = preSolution
  1534. + Debug|x64 = Debug|x64
  1535. + Debug|x86 = Debug|x86
  1536. + Release|x64 = Release|x64
  1537. + Release|x86 = Release|x86
  1538. + EndGlobalSection
  1539. + GlobalSection(ProjectConfigurationPlatforms) = postSolution
  1540. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x64.ActiveCfg = Debug|x64
  1541. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x64.Build.0 = Debug|x64
  1542. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x86.ActiveCfg = Debug|Win32
  1543. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Debug|x86.Build.0 = Debug|Win32
  1544. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x64.ActiveCfg = Release|x64
  1545. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x64.Build.0 = Release|x64
  1546. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x86.ActiveCfg = Release|Win32
  1547. + {C04B0FB1-667D-4F1C-BDAE-A07CDFFAAAA0}.Release|x86.Build.0 = Release|Win32
  1548. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x64.ActiveCfg = Debug|x64
  1549. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x64.Build.0 = Debug|x64
  1550. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x86.ActiveCfg = Debug|Win32
  1551. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Debug|x86.Build.0 = Debug|Win32
  1552. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x64.ActiveCfg = Release|x64
  1553. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x64.Build.0 = Release|x64
  1554. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x86.ActiveCfg = Release|Win32
  1555. + {F01222BF-6B3D-43BD-B254-434031CB9887}.Release|x86.Build.0 = Release|Win32
  1556. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x64.ActiveCfg = Debug|x64
  1557. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x64.Build.0 = Debug|x64
  1558. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x86.ActiveCfg = Debug|Win32
  1559. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Debug|x86.Build.0 = Debug|Win32
  1560. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x64.ActiveCfg = Release|x64
  1561. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x64.Build.0 = Release|x64
  1562. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x86.ActiveCfg = Release|Win32
  1563. + {E54D4581-CD59-4687-BB10-694B8192EABA}.Release|x86.Build.0 = Release|Win32
  1564. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x64.ActiveCfg = Debug|x64
  1565. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x64.Build.0 = Debug|x64
  1566. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x86.ActiveCfg = Debug|x86
  1567. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Debug|x86.Build.0 = Debug|x86
  1568. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x64.ActiveCfg = Release|x64
  1569. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x64.Build.0 = Release|x64
  1570. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x86.ActiveCfg = Release|x86
  1571. + {B6A7F3A9-F47C-41E5-9754-0BFF233B1172}.Release|x86.Build.0 = Release|x86
  1572. + {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x64.ActiveCfg = Debug|x64
  1573. + {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x64.Build.0 = Debug|x64
  1574. + {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x86.ActiveCfg = Debug|x86
  1575. + {58C106FE-C159-46D3-97E1-73AB83232670}.Debug|x86.Build.0 = Debug|x86
  1576. + {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x64.ActiveCfg = Release|x64
  1577. + {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x64.Build.0 = Release|x64
  1578. + {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x86.ActiveCfg = Release|x86
  1579. + {58C106FE-C159-46D3-97E1-73AB83232670}.Release|x86.Build.0 = Release|x86
  1580. + EndGlobalSection
  1581. + GlobalSection(SolutionProperties) = preSolution
  1582. + HideSolutionNode = FALSE
  1583. + EndGlobalSection
  1584. +EndGlobal
  1585. diff -Nur libcec-2.1.4/project/p8-usbcec-driver.nsi libcec-imx6/project/p8-usbcec-driver.nsi
  1586. --- libcec-2.1.4/project/p8-usbcec-driver.nsi 1970-01-01 01:00:00.000000000 +0100
  1587. +++ libcec-imx6/project/p8-usbcec-driver.nsi 2014-09-01 13:48:53.702431449 +0200
  1588. @@ -0,0 +1,118 @@
  1589. +;p8-usbcec-driver installer
  1590. +;Copyright (C) 2011-2013 Pulse-Eight Ltd.
  1591. +;http://www.pulse-eight.com/
  1592. +
  1593. +!include "MUI2.nsh"
  1594. +!include "nsDialogs.nsh"
  1595. +!include "LogicLib.nsh"
  1596. +!include "x64.nsh"
  1597. +
  1598. +Name "Pulse-Eight USB-CEC Adapter"
  1599. +OutFile "..\build\p8-usbcec-driver-installer.exe"
  1600. +
  1601. +XPStyle on
  1602. +InstallDir "$PROGRAMFILES\Pulse-Eight\USB-CEC Adapter\driver"
  1603. +InstallDirRegKey HKLM "Software\Pulse-Eight\USB-CEC Adapter driver" ""
  1604. +RequestExecutionLevel admin
  1605. +
  1606. +!define MUI_FINISHPAGE_LINK "Visit http://www.pulse-eight.com/ for more information."
  1607. +!define MUI_FINISHPAGE_LINK_LOCATION "http://www.pulse-eight.com/"
  1608. +!define MUI_ABORTWARNING
  1609. +
  1610. +!insertmacro MUI_PAGE_WELCOME
  1611. +!insertmacro MUI_PAGE_LICENSE "..\COPYING"
  1612. +!insertmacro MUI_PAGE_DIRECTORY
  1613. +
  1614. +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
  1615. +!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Pulse-Eight\USB-CEC Adapter driver"
  1616. +
  1617. +!insertmacro MUI_PAGE_INSTFILES
  1618. +!insertmacro MUI_PAGE_FINISH
  1619. +
  1620. +!insertmacro MUI_UNPAGE_WELCOME
  1621. +!insertmacro MUI_UNPAGE_CONFIRM
  1622. +!insertmacro MUI_UNPAGE_INSTFILES
  1623. +!insertmacro MUI_UNPAGE_FINISH
  1624. +
  1625. +!insertmacro MUI_LANGUAGE "English"
  1626. +
  1627. +InstType "USB-CEC driver only"
  1628. +
  1629. +Section "USB-CEC driver" SecDriver
  1630. + SetShellVarContext current
  1631. + SectionIn RO
  1632. + SectionIn 1
  1633. +
  1634. + ; Copy to the installation directory
  1635. + SetOutPath "$INSTDIR"
  1636. + File "..\AUTHORS"
  1637. + File "..\COPYING"
  1638. +
  1639. + ; Copy the driver installer and .inf file
  1640. + File "..\build\dpinst-amd64.exe"
  1641. + File "..\build\dpinst-x86.exe"
  1642. + File "..\driver\p8usb-cec.inf"
  1643. + File "..\driver\p8usb-cec.cat"
  1644. +
  1645. + ;Store installation folder
  1646. + WriteRegStr HKLM "Software\Pulse-Eight\USB-CEC Adapter driver" "" $INSTDIR
  1647. +
  1648. + ;Create uninstaller
  1649. + WriteUninstaller "$INSTDIR\Uninstall.exe"
  1650. +
  1651. + ;add entry to add/remove programs
  1652. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1653. + "DisplayName" "Pulse-Eight USB-CEC Adapter driver"
  1654. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1655. + "UninstallString" "$INSTDIR\uninstall.exe"
  1656. + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1657. + "NoModify" 1
  1658. + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1659. + "NoRepair" 1
  1660. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1661. + "InstallLocation" "$INSTDIR"
  1662. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1663. + "Publisher" "Pulse-Eight Limited"
  1664. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1665. + "HelpLink" "http://www.pulse-eight.com/"
  1666. + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver" \
  1667. + "URLInfoAbout" "http://www.pulse-eight.com"
  1668. +
  1669. + ;install driver
  1670. + ${If} ${RunningX64}
  1671. + ExecWait '"$INSTDIR\dpinst-amd64.exe" /lm /sa /sw /PATH "$INSTDIR"'
  1672. + ${Else}
  1673. + ExecWait '"$INSTDIR\dpinst-x86.exe" /lm /sa /sw /PATH "$INSTDIR"'
  1674. + ${EndIf}
  1675. +SectionEnd
  1676. +
  1677. +;--------------------------------
  1678. +;Uninstaller Section
  1679. +
  1680. +Section "Uninstall"
  1681. +
  1682. + SetShellVarContext current
  1683. +
  1684. + ${If} ${RunningX64}
  1685. + ExecWait '"$INSTDIR\dpinst-amd64.exe" /u "$INSTDIR\p8usb-cec.inf"'
  1686. + ${Else}
  1687. + ExecWait '"$INSTDIR\dpinst-x64.exe" /u "$INSTDIR\p8usb-cec.inf"'
  1688. + ${EndIf}
  1689. + Delete "$INSTDIR\AUTHORS"
  1690. + Delete "$INSTDIR\COPYING"
  1691. + Delete "$INSTDIR\p8usb-cec.inf"
  1692. + Delete "$INSTDIR\p8usb-cec.cat"
  1693. + Delete "$INSTDIR\dpinst-amd64.exe"
  1694. + Delete "$INSTDIR\dpinst-x86.exe"
  1695. +
  1696. + RMDir /r "$INSTDIR\include"
  1697. + Delete "$INSTDIR\Uninstall.exe"
  1698. + RMDir /r "$INSTDIR"
  1699. + RMDir "$PROGRAMFILES\Pulse-Eight\USB-CEC Adapter"
  1700. + RMDir "$PROGRAMFILES\Pulse-Eight"
  1701. +
  1702. + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Pulse-Eight USB-CEC Adapter driver"
  1703. + DeleteRegKey /ifempty HKLM "Software\Pulse-Eight\USB-CEC Adapter driver"
  1704. + DeleteRegKey /ifempty HKLM "Software\Pulse-Eight"
  1705. +
  1706. +SectionEnd
  1707. diff -Nur libcec-2.1.4/project/RPi/bootstrap.sh libcec-imx6/project/RPi/bootstrap.sh
  1708. --- libcec-2.1.4/project/RPi/bootstrap.sh 1970-01-01 01:00:00.000000000 +0100
  1709. +++ libcec-imx6/project/RPi/bootstrap.sh 2014-09-01 13:48:53.702431449 +0200
  1710. @@ -0,0 +1,32 @@
  1711. +#!/bin/bash
  1712. +
  1713. +_usage()
  1714. +{
  1715. + echo "Usage: $0 /path/to/toolchain /source/path"
  1716. + exit 1
  1717. +}
  1718. +
  1719. +if [[ -z "$2" || ! -d "$1" || ! -d "$2" ]]; then
  1720. + echo "1 = '$1'"
  1721. + echo "2 = '$2'"
  1722. + _usage
  1723. +fi
  1724. +
  1725. +SCRIPT_PATH=`dirname $0`
  1726. +cd $SCRIPT_PATH
  1727. +SCRIPT_PATH=`pwd`
  1728. +cd -
  1729. +
  1730. +source $SCRIPT_PATH/config
  1731. +mkdir -p $SCRIPT_PATH/deps
  1732. +
  1733. +cd "$2"
  1734. +
  1735. +if [ -f "configure.ac" ]; then
  1736. + _set_toolchain_path "$1"
  1737. + autoreconf -vif
  1738. + exit $?
  1739. +fi
  1740. +
  1741. +exit 0
  1742. +
  1743. diff -Nur libcec-2.1.4/project/RPi/build-deps.sh libcec-imx6/project/RPi/build-deps.sh
  1744. --- libcec-2.1.4/project/RPi/build-deps.sh 1970-01-01 01:00:00.000000000 +0100
  1745. +++ libcec-imx6/project/RPi/build-deps.sh 2014-09-01 13:48:53.702431449 +0200
  1746. @@ -0,0 +1,36 @@
  1747. +#!/bin/bash
  1748. +
  1749. +SCRIPT_PATH=`dirname $0`
  1750. +cd $SCRIPT_PATH
  1751. +SCRIPT_PATH=`pwd`
  1752. +cd -
  1753. +
  1754. +source $SCRIPT_PATH/config
  1755. +
  1756. +mkdir -p $SCRIPT_PATH/deps/build
  1757. +cd $SCRIPT_PATH/deps/build
  1758. +
  1759. +if [ ! -d lockdev ]; then
  1760. + wget ${TARBALL_LOCATION}${LOCKDEV_TARBALL}
  1761. + tar -Jxf $LOCKDEV_TARBALL
  1762. +
  1763. + mv `echo $LOCKDEV_TARBALL | sed 's/.tar.xz//'` lockdev
  1764. + rm $LOCKDEV_TARBALL
  1765. +
  1766. + cd $SCRIPT_PATH/deps/build/lockdev && \
  1767. + $SCRIPT_PATH/bootstrap.sh $SCRIPT_PATH/toolchain .
  1768. +
  1769. + if [ $? -eq 0 ]; then
  1770. + _set_toolchain_path "$SCRIPT_PATH/toolchain"
  1771. + ./configure --host=$TARGET_HOST --build=`cc -dumpmachine` --prefix=$SCRIPT_PATH/deps && \
  1772. + make && \
  1773. + make install
  1774. +
  1775. + exit $?
  1776. + else
  1777. + exit 1
  1778. + fi
  1779. +fi
  1780. +
  1781. +exit 0
  1782. +
  1783. diff -Nur libcec-2.1.4/project/RPi/build.sh libcec-imx6/project/RPi/build.sh
  1784. --- libcec-2.1.4/project/RPi/build.sh 1970-01-01 01:00:00.000000000 +0100
  1785. +++ libcec-imx6/project/RPi/build.sh 2014-09-01 13:48:53.702431449 +0200
  1786. @@ -0,0 +1,37 @@
  1787. +#!/bin/bash
  1788. +
  1789. +SCRIPT_PATH=`dirname $0`
  1790. +cd $SCRIPT_PATH
  1791. +SCRIPT_PATH=`pwd`
  1792. +cd -
  1793. +
  1794. +if [ -z "$1" ]; then
  1795. + DEST_DIR="/opt/libcec-rpi"
  1796. +else
  1797. + DEST_DIR="$1"
  1798. +fi
  1799. +
  1800. +source $SCRIPT_PATH/config
  1801. +
  1802. +$SCRIPT_PATH/get-toolchain.sh && \
  1803. +$SCRIPT_PATH/build-deps.sh && \
  1804. +$SCRIPT_PATH/bootstrap.sh $SCRIPT_PATH/toolchain .
  1805. +
  1806. +if [ $? -eq 0 ]; then
  1807. + _set_toolchain_path "$SCRIPT_PATH/toolchain"
  1808. + # configure with --enable-rpi-cec-api so we bug out if we can't find Pi support or can't build it
  1809. + ./configure --host=$TARGET_HOST \
  1810. + --build=`cc -dumpmachine` \
  1811. + --prefix=$DEST_DIR \
  1812. + --enable-debug \
  1813. + --enable-rpi \
  1814. + --with-rpi-include-path="${SCRIPT_PATH}/firmware/hardfp/opt/vc/include" \
  1815. + --with-rpi-lib-path="${SCRIPT_PATH}/firmware/hardfp/opt/vc/lib" && \
  1816. + make clean && \
  1817. + make V=0
  1818. +
  1819. + exit $?
  1820. +else
  1821. + exit 1
  1822. +fi
  1823. +
  1824. diff -Nur libcec-2.1.4/project/RPi/config libcec-imx6/project/RPi/config
  1825. --- libcec-2.1.4/project/RPi/config 1970-01-01 01:00:00.000000000 +0100
  1826. +++ libcec-imx6/project/RPi/config 2014-09-01 13:48:53.702431449 +0200
  1827. @@ -0,0 +1,37 @@
  1828. +TOOLCHAIN_GIT="git://github.com/raspberrypi/tools.git"
  1829. +FIRMWARE_GIT="git://github.com/raspberrypi/firmware.git"
  1830. +TARBALL_LOCATION="http://sources.openelec.tv/devel/"
  1831. +LOCKDEV_TARBALL="lockdev-16b8996.tar.xz"
  1832. +
  1833. +_set_toolchain_path()
  1834. +{
  1835. + echo "Setting toolchain path to: '$1'"
  1836. +
  1837. + export TARGET_TOOLCHAIN_PATH="$1/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin"
  1838. + export TARGET_TOOLCHAIN_LIB_PATH="$1/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/lib"
  1839. + export TARGET_HOST="arm-bcm2708hardfp-linux-gnueabi"
  1840. +
  1841. + export CC=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-gcc
  1842. + export CXX=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-g++
  1843. + export LD=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-ld
  1844. + export AS=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-as
  1845. + export AR=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-ar
  1846. + export NM=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-nm
  1847. + export RANLIB=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-ranlib
  1848. + export OBJCOPY=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-objcopy
  1849. + export OBJDUMP=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-objdump
  1850. + export STRIP=${TARGET_TOOLCHAIN_PATH}/${TARGET_HOST}-strip
  1851. +
  1852. + export CPPFLAGS="-I${SCRIPT_PATH}/deps/include"
  1853. + export CFLAGS="-march=armv6 -mfpu=vfp -mfloat-abi=hard -Wno-psabi -Wa,-mno-warn-deprecated -O3 -fexcess-precision=fast -ffast-math -I${SCRIPT_PATH}/deps/include"
  1854. + export CXXFLAGS="$CFLAGS"
  1855. + export LDFLAGS="-march=armv6 -mtune=arm1176jzf-s -L${SCRIPT_PATH}/deps/lib"
  1856. +
  1857. + #export PKG_CONFIG_PATH="$TARGET_PKG_CONFIG_PATH"
  1858. + export PKG_CONFIG_LIBDIR="${SCRIPT_PATH}/deps/lib/pkgconfig:${SCRIPT_PATH}/deps/lib/share/pkgconfig"
  1859. + export PKG_CONFIG_SYSROOT_DIR="${SCRIPT_PATH}/deps"
  1860. +
  1861. + export PATH="$TARGET_TOOLCHAIN_PATH:$PATH"
  1862. + export LD_LIBRARY_PATH="$TARGET_TOOLCHAIN_LIB_PATH:$LD_LIBRARY_PATH"
  1863. +}
  1864. +
  1865. diff -Nur libcec-2.1.4/project/RPi/get-toolchain.sh libcec-imx6/project/RPi/get-toolchain.sh
  1866. --- libcec-2.1.4/project/RPi/get-toolchain.sh 1970-01-01 01:00:00.000000000 +0100
  1867. +++ libcec-imx6/project/RPi/get-toolchain.sh 2014-09-01 13:48:53.702431449 +0200
  1868. @@ -0,0 +1,29 @@
  1869. +#!/bin/bash
  1870. +
  1871. +SCRIPT_PATH=`dirname $0`
  1872. +cd $SCRIPT_PATH
  1873. +SCRIPT_PATH=`pwd`
  1874. +cd -
  1875. +
  1876. +source $SCRIPT_PATH/config
  1877. +
  1878. +if [ ! -d $SCRIPT_PATH/toolchain ]; then
  1879. + git clone $TOOLCHAIN_GIT $SCRIPT_PATH/toolchain
  1880. +else
  1881. + cd $SCRIPT_PATH/toolchain
  1882. +# git pull
  1883. +fi
  1884. +
  1885. +if [ ! -d $SCRIPT_PATH/firmware ]; then
  1886. + git clone $FIRMWARE_GIT $SCRIPT_PATH/firmware
  1887. +else
  1888. + cd $SCRIPT_PATH/firmware
  1889. +# git pull
  1890. +fi
  1891. +
  1892. +if [[ -d $SCRIPT_PATH/toolchain && -d $SCRIPT_PATH/firmware ]]; then
  1893. + exit 0
  1894. +else
  1895. + exit 1
  1896. +fi
  1897. +
  1898. Binärdateien libcec-2.1.4/project/testclient/resource.h und libcec-imx6/project/testclient/resource.h sind verschieden.
  1899. Binärdateien libcec-2.1.4/project/testclient/testclient.rc und libcec-imx6/project/testclient/testclient.rc sind verschieden.
  1900. diff -Nur libcec-2.1.4/project/testclient/testclient.vcxproj libcec-imx6/project/testclient/testclient.vcxproj
  1901. --- libcec-2.1.4/project/testclient/testclient.vcxproj 1970-01-01 01:00:00.000000000 +0100
  1902. +++ libcec-imx6/project/testclient/testclient.vcxproj 2014-09-01 13:48:53.702431449 +0200
  1903. @@ -0,0 +1,187 @@
  1904. +<?xml version="1.0" encoding="utf-8"?>
  1905. +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  1906. + <ItemGroup Label="ProjectConfigurations">
  1907. + <ProjectConfiguration Include="Debug|Win32">
  1908. + <Configuration>Debug</Configuration>
  1909. + <Platform>Win32</Platform>
  1910. + </ProjectConfiguration>
  1911. + <ProjectConfiguration Include="Debug|x64">
  1912. + <Configuration>Debug</Configuration>
  1913. + <Platform>x64</Platform>
  1914. + </ProjectConfiguration>
  1915. + <ProjectConfiguration Include="Release|Win32">
  1916. + <Configuration>Release</Configuration>
  1917. + <Platform>Win32</Platform>
  1918. + </ProjectConfiguration>
  1919. + <ProjectConfiguration Include="Release|x64">
  1920. + <Configuration>Release</Configuration>
  1921. + <Platform>x64</Platform>
  1922. + </ProjectConfiguration>
  1923. + </ItemGroup>
  1924. + <PropertyGroup Label="Globals">
  1925. + <ProjectGuid>{F01222BF-6B3D-43BD-B254-434031CB9887}</ProjectGuid>
  1926. + <Keyword>Win32Proj</Keyword>
  1927. + <RootNamespace>testclient</RootNamespace>
  1928. + </PropertyGroup>
  1929. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  1930. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
  1931. + <ConfigurationType>Application</ConfigurationType>
  1932. + <UseDebugLibraries>true</UseDebugLibraries>
  1933. + <CharacterSet>MultiByte</CharacterSet>
  1934. + <PlatformToolset>v100</PlatformToolset>
  1935. + </PropertyGroup>
  1936. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
  1937. + <ConfigurationType>Application</ConfigurationType>
  1938. + <UseDebugLibraries>true</UseDebugLibraries>
  1939. + <CharacterSet>MultiByte</CharacterSet>
  1940. + <PlatformToolset>v100</PlatformToolset>
  1941. + </PropertyGroup>
  1942. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
  1943. + <ConfigurationType>Application</ConfigurationType>
  1944. + <UseDebugLibraries>false</UseDebugLibraries>
  1945. + <CharacterSet>MultiByte</CharacterSet>
  1946. + <PlatformToolset>v100</PlatformToolset>
  1947. + </PropertyGroup>
  1948. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
  1949. + <ConfigurationType>Application</ConfigurationType>
  1950. + <UseDebugLibraries>false</UseDebugLibraries>
  1951. + <CharacterSet>MultiByte</CharacterSet>
  1952. + <PlatformToolset>v100</PlatformToolset>
  1953. + </PropertyGroup>
  1954. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
  1955. + <ImportGroup Label="ExtensionSettings">
  1956. + </ImportGroup>
  1957. + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  1958. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1959. + </ImportGroup>
  1960. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
  1961. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1962. + </ImportGroup>
  1963. + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  1964. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1965. + </ImportGroup>
  1966. + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
  1967. + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  1968. + </ImportGroup>
  1969. + <PropertyGroup Label="UserMacros" />
  1970. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  1971. + <OutDir>$(SolutionDir)..\build\</OutDir>
  1972. + <TargetName>cec-client</TargetName>
  1973. + </PropertyGroup>
  1974. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  1975. + <OutDir>$(SolutionDir)..\build\x64\</OutDir>
  1976. + <TargetName>cec-client</TargetName>
  1977. + </PropertyGroup>
  1978. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  1979. + <OutDir>$(SolutionDir)..\build\</OutDir>
  1980. + <TargetName>cec-client</TargetName>
  1981. + </PropertyGroup>
  1982. + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  1983. + <OutDir>$(SolutionDir)..\build\x64\</OutDir>
  1984. + <TargetName>cec-client</TargetName>
  1985. + </PropertyGroup>
  1986. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
  1987. + <ClCompile>
  1988. + <PrecompiledHeader>
  1989. + </PrecompiledHeader>
  1990. + <WarningLevel>Level4</WarningLevel>
  1991. + <Optimization>Disabled</Optimization>
  1992. + <PreprocessorDefinitions>_USE_32BIT_TIME_T;_DEBUG;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  1993. + <TreatWarningAsError>true</TreatWarningAsError>
  1994. + <DisableSpecificWarnings>
  1995. + </DisableSpecificWarnings>
  1996. + <AdditionalIncludeDirectories>$(SolutiontDir)..\..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  1997. + </ClCompile>
  1998. + <Link>
  1999. + <SubSystem>Console</SubSystem>
  2000. + <GenerateDebugInformation>true</GenerateDebugInformation>
  2001. + <Version>
  2002. + </Version>
  2003. + </Link>
  2004. + </ItemDefinitionGroup>
  2005. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
  2006. + <ClCompile>
  2007. + <PrecompiledHeader>
  2008. + </PrecompiledHeader>
  2009. + <WarningLevel>Level4</WarningLevel>
  2010. + <Optimization>Disabled</Optimization>
  2011. + <PreprocessorDefinitions>_WIN64;_DEBUG;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  2012. + <TreatWarningAsError>true</TreatWarningAsError>
  2013. + <DisableSpecificWarnings>
  2014. + </DisableSpecificWarnings>
  2015. + <AdditionalIncludeDirectories>$(SolutiontDir)..\..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  2016. + </ClCompile>
  2017. + <Link>
  2018. + <SubSystem>Console</SubSystem>
  2019. + <GenerateDebugInformation>true</GenerateDebugInformation>
  2020. + <AdditionalDependencies>
  2021. + </AdditionalDependencies>
  2022. + <Version>
  2023. + </Version>
  2024. + </Link>
  2025. + </ItemDefinitionGroup>
  2026. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
  2027. + <ClCompile>
  2028. + <WarningLevel>Level4</WarningLevel>
  2029. + <PrecompiledHeader>
  2030. + </PrecompiledHeader>
  2031. + <Optimization>Full</Optimization>
  2032. + <FunctionLevelLinking>false</FunctionLevelLinking>
  2033. + <IntrinsicFunctions>true</IntrinsicFunctions>
  2034. + <PreprocessorDefinitions>_USE_32BIT_TIME_T;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  2035. + <TreatWarningAsError>true</TreatWarningAsError>
  2036. + <DisableSpecificWarnings>
  2037. + </DisableSpecificWarnings>
  2038. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  2039. + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
  2040. + </ClCompile>
  2041. + <Link>
  2042. + <SubSystem>Console</SubSystem>
  2043. + <GenerateDebugInformation>false</GenerateDebugInformation>
  2044. + <EnableCOMDATFolding>true</EnableCOMDATFolding>
  2045. + <OptimizeReferences>true</OptimizeReferences>
  2046. + <Version>
  2047. + </Version>
  2048. + </Link>
  2049. + </ItemDefinitionGroup>
  2050. + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
  2051. + <ClCompile>
  2052. + <WarningLevel>Level4</WarningLevel>
  2053. + <PrecompiledHeader>
  2054. + </PrecompiledHeader>
  2055. + <Optimization>Full</Optimization>
  2056. + <IntrinsicFunctions>true</IntrinsicFunctions>
  2057. + <PreprocessorDefinitions>_WIN64;_CRT_SECURE_NO_WARNINGS;_WINSOCKAPI_;__STDC_CONSTANT_MACROS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
  2058. + <TreatWarningAsError>true</TreatWarningAsError>
  2059. + <DisableSpecificWarnings>
  2060. + </DisableSpecificWarnings>
  2061. + <AdditionalIncludeDirectories>$(SolutionDir)..\include;$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
  2062. + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
  2063. + </ClCompile>
  2064. + <Link>
  2065. + <SubSystem>Console</SubSystem>
  2066. + <GenerateDebugInformation>false</GenerateDebugInformation>
  2067. + <EnableCOMDATFolding>true</EnableCOMDATFolding>
  2068. + <OptimizeReferences>true</OptimizeReferences>
  2069. + <AdditionalDependencies>
  2070. + </AdditionalDependencies>
  2071. + <Version>
  2072. + </Version>
  2073. + </Link>
  2074. + </ItemDefinitionGroup>
  2075. + <ItemGroup>
  2076. + <ClInclude Include="..\..\include\cec.h" />
  2077. + <ClInclude Include="..\..\include\cecloader.h" />
  2078. + <ClInclude Include="resource.h" />
  2079. + </ItemGroup>
  2080. + <ItemGroup>
  2081. + <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp" />
  2082. + <ClCompile Include="..\..\src\testclient\main.cpp" />
  2083. + </ItemGroup>
  2084. + <ItemGroup>
  2085. + <ResourceCompile Include="testclient.rc" />
  2086. + </ItemGroup>
  2087. + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
  2088. + <ImportGroup Label="ExtensionTargets">
  2089. + </ImportGroup>
  2090. +</Project>
  2091. \ Kein Zeilenumbruch am Dateiende.
  2092. diff -Nur libcec-2.1.4/project/testclient/testclient.vcxproj.filters libcec-imx6/project/testclient/testclient.vcxproj.filters
  2093. --- libcec-2.1.4/project/testclient/testclient.vcxproj.filters 1970-01-01 01:00:00.000000000 +0100
  2094. +++ libcec-imx6/project/testclient/testclient.vcxproj.filters 2014-09-01 13:48:53.702431449 +0200
  2095. @@ -0,0 +1,29 @@
  2096. +<?xml version="1.0" encoding="utf-8"?>
  2097. +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  2098. + <ItemGroup>
  2099. + <Filter Include="exports">
  2100. + <UniqueIdentifier>{cc0a01c1-e1e7-4af8-9656-fa9463140613}</UniqueIdentifier>
  2101. + </Filter>
  2102. + <Filter Include="platform">
  2103. + <UniqueIdentifier>{f08c0a80-22d9-4bdd-90de-b9cf5fa88f99}</UniqueIdentifier>
  2104. + </Filter>
  2105. + </ItemGroup>
  2106. + <ItemGroup>
  2107. + <ClInclude Include="..\..\include\cec.h">
  2108. + <Filter>exports</Filter>
  2109. + </ClInclude>
  2110. + <ClInclude Include="..\..\include\cecloader.h">
  2111. + <Filter>exports</Filter>
  2112. + </ClInclude>
  2113. + <ClInclude Include="resource.h" />
  2114. + </ItemGroup>
  2115. + <ItemGroup>
  2116. + <ClCompile Include="..\..\src\testclient\main.cpp" />
  2117. + <ClCompile Include="..\..\src\lib\platform\windows\os-threads.cpp">
  2118. + <Filter>platform</Filter>
  2119. + </ClCompile>
  2120. + </ItemGroup>
  2121. + <ItemGroup>
  2122. + <ResourceCompile Include="testclient.rc" />
  2123. + </ItemGroup>
  2124. +</Project>
  2125. \ Kein Zeilenumbruch am Dateiende.
  2126. diff -Nur libcec-2.1.4/src/lib/adapter/AdapterFactory.cpp libcec-imx6/src/lib/adapter/AdapterFactory.cpp
  2127. --- libcec-2.1.4/src/lib/adapter/AdapterFactory.cpp 2013-12-16 10:32:51.000000000 +0100
  2128. +++ libcec-imx6/src/lib/adapter/AdapterFactory.cpp 2014-09-01 13:48:54.718437326 +0200
  2129. @@ -52,6 +52,11 @@
  2130. #include "TDA995x/TDA995xCECAdapterCommunication.h"
  2131. #endif
  2132. +#if defined(HAVE_IMX_API)
  2133. +#include "IMX/IMXCECAdapterDetection.h"
  2134. +#include "IMX/IMXCECAdapterCommunication.h"
  2135. +#endif
  2136. +
  2137. using namespace std;
  2138. using namespace CEC;
  2139. @@ -109,7 +114,22 @@
  2140. }
  2141. #endif
  2142. -#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API)
  2143. +
  2144. +#if defined(HAVE_IMX_API)
  2145. + if (iAdaptersFound < iBufSize && CIMXCECAdapterDetection::FindAdapter() &&
  2146. + (!strDevicePath || !strcmp(strDevicePath, CEC_IMX_VIRTUAL_COM)))
  2147. + {
  2148. + snprintf(deviceList[iAdaptersFound].strComPath, sizeof(deviceList[iAdaptersFound].strComPath), CEC_IMX_PATH);
  2149. + snprintf(deviceList[iAdaptersFound].strComName, sizeof(deviceList[iAdaptersFound].strComName), CEC_IMX_VIRTUAL_COM);
  2150. + deviceList[iAdaptersFound].iVendorId = IMX_ADAPTER_VID;
  2151. + deviceList[iAdaptersFound].iProductId = IMX_ADAPTER_PID;
  2152. + deviceList[iAdaptersFound].adapterType = ADAPTERTYPE_IMX;
  2153. + iAdaptersFound++;
  2154. + }
  2155. +#endif
  2156. +
  2157. +
  2158. +#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_IMX_API)
  2159. #error "libCEC doesn't have support for any type of adapter. please check your build system or configuration"
  2160. #endif
  2161. @@ -128,11 +148,16 @@
  2162. return new CRPiCECAdapterCommunication(m_lib->m_cec);
  2163. #endif
  2164. +#if defined(HAVE_IMX_API)
  2165. + if (!strcmp(strPort, CEC_IMX_VIRTUAL_COM))
  2166. + return new CIMXCECAdapterCommunication(m_lib->m_cec);
  2167. +#endif
  2168. +
  2169. #if defined(HAVE_P8_USB)
  2170. return new CUSBCECAdapterCommunication(m_lib->m_cec, strPort, iBaudRate);
  2171. #endif
  2172. -#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API)
  2173. +#if !defined(HAVE_RPI_API) && !defined(HAVE_P8_USB) && !defined(HAVE_TDA995X_API) && !defined(HAVE_IMX_API)
  2174. return NULL;
  2175. #endif
  2176. }
  2177. diff -Nur libcec-2.1.4/src/lib/adapter/IMX/AdapterMessageQueue.h libcec-imx6/src/lib/adapter/IMX/AdapterMessageQueue.h
  2178. --- libcec-2.1.4/src/lib/adapter/IMX/AdapterMessageQueue.h 1970-01-01 01:00:00.000000000 +0100
  2179. +++ libcec-imx6/src/lib/adapter/IMX/AdapterMessageQueue.h 2014-09-01 13:48:54.718437326 +0200
  2180. @@ -0,0 +1,134 @@
  2181. +#pragma once
  2182. +/*
  2183. + * This file is part of the libCEC(R) library.
  2184. + *
  2185. + * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
  2186. + * libCEC(R) is an original work, containing original code.
  2187. + *
  2188. + * libCEC(R) is a trademark of Pulse-Eight Limited.
  2189. + *
  2190. + * This program is dual-licensed; you can redistribute it and/or modify
  2191. + * it under the terms of the GNU General Public License as published by
  2192. + * the Free Software Foundation; either version 2 of the License, or
  2193. + * (at your option) any later version.
  2194. + *
  2195. + * This program is distributed in the hope that it will be useful,
  2196. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2197. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  2198. + * GNU General Public License for more details.
  2199. + *
  2200. + * You should have received a copy of the GNU General Public License
  2201. + * along with this program; if not, write to the Free Software
  2202. + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  2203. + *
  2204. + *
  2205. + * Alternatively, you can license this library under a commercial license,
  2206. + * please contact Pulse-Eight Licensing for more information.
  2207. + *
  2208. + * For more information contact:
  2209. + * Pulse-Eight Licensing <license@pulse-eight.com>
  2210. + * http://www.pulse-eight.com/
  2211. + * http://www.pulse-eight.net/
  2212. + */
  2213. +
  2214. +#include "lib/platform/threads/mutex.h"
  2215. +
  2216. +namespace CEC
  2217. +{
  2218. + using namespace PLATFORM;
  2219. +
  2220. + class CAdapterMessageQueueEntry
  2221. + {
  2222. + public:
  2223. + CAdapterMessageQueueEntry(const cec_command &command)
  2224. + : m_bWaiting(true), m_retval((uint32_t)-1), m_bSucceeded(false)
  2225. + {
  2226. + m_hash = hashValue(
  2227. + uint32_t(command.opcode_set ? command.opcode : CEC_OPCODE_NONE),
  2228. + command.initiator, command.destination);
  2229. + }
  2230. +
  2231. + virtual ~CAdapterMessageQueueEntry(void) {}
  2232. +
  2233. + /*!
  2234. + * @brief Query result from worker thread
  2235. + */
  2236. + uint32_t Result() const
  2237. + {
  2238. + return m_retval;
  2239. + }
  2240. +
  2241. + /*!
  2242. + * @brief Signal waiting threads
  2243. + */
  2244. + void Broadcast(void)
  2245. + {
  2246. + CLockObject lock(m_mutex);
  2247. + m_condition.Broadcast();
  2248. + }
  2249. +
  2250. + /*!
  2251. + * @brief Signal waiting thread(s) when message matches this entry
  2252. + */
  2253. + bool CheckMatch(uint32_t opcode, cec_logical_address initiator,
  2254. + cec_logical_address destination, uint32_t response)
  2255. + {
  2256. + uint32_t hash = hashValue(opcode, initiator, destination);
  2257. +
  2258. + if (hash == m_hash)
  2259. + {
  2260. + CLockObject lock(m_mutex);
  2261. +
  2262. + m_retval = response;
  2263. + m_bSucceeded = true;
  2264. + m_condition.Signal();
  2265. + return true;
  2266. + }
  2267. +
  2268. + return false;
  2269. + }
  2270. +
  2271. + /*!
  2272. + * @brief Wait for a response to this command.
  2273. + * @param iTimeout The timeout to use while waiting.
  2274. + * @return True when a response was received before the timeout passed, false otherwise.
  2275. + */
  2276. + bool Wait(uint32_t iTimeout)
  2277. + {
  2278. + CLockObject lock(m_mutex);
  2279. +
  2280. + bool bReturn = m_bSucceeded ? true : m_condition.Wait(m_mutex, m_bSucceeded, iTimeout);
  2281. + m_bWaiting = false;
  2282. + return bReturn;
  2283. + }
  2284. +
  2285. + /*!
  2286. + * @return True while a thread is waiting for a signal or isn't waiting yet, false otherwise.
  2287. + */
  2288. + bool IsWaiting(void)
  2289. + {
  2290. + CLockObject lock(m_mutex);
  2291. + return m_bWaiting;
  2292. + }
  2293. +
  2294. + /*!
  2295. + * @return Hash value for given cec_command
  2296. + */
  2297. + static uint32_t hashValue(uint32_t opcode,
  2298. + cec_logical_address initiator,
  2299. + cec_logical_address destination)
  2300. + {
  2301. + return 1 | ((uint32_t)initiator << 8) |
  2302. + ((uint32_t)destination << 16) | ((uint32_t)opcode << 16);
  2303. + }
  2304. +
  2305. + private:
  2306. + bool m_bWaiting; /**< true while a thread is waiting or when it hasn't started waiting yet */
  2307. + PLATFORM::CCondition<bool> m_condition; /**< the condition to wait on */
  2308. + PLATFORM::CMutex m_mutex; /**< mutex for changes to this class */
  2309. + uint32_t m_hash;
  2310. + uint32_t m_retval;
  2311. + bool m_bSucceeded;
  2312. + };
  2313. +
  2314. +};
  2315. diff -Nur libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp
  2316. --- libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 1970-01-01 01:00:00.000000000 +0100
  2317. +++ libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 2014-09-01 13:48:54.718437326 +0200
  2318. @@ -0,0 +1,279 @@
  2319. +/*
  2320. + * This file is part of the libCEC(R) library.
  2321. + *
  2322. + * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
  2323. + * libCEC(R) is an original work, containing original code.
  2324. + *
  2325. + * libCEC(R) is a trademark of Pulse-Eight Limited.
  2326. + *
  2327. + * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
  2328. + *
  2329. + * You can redistribute this file and/or modify
  2330. + * it under the terms of the GNU General Public License as published by
  2331. + * the Free Software Foundation; either version 2 of the License, or
  2332. + * (at your option) any later version.
  2333. + *
  2334. + * This program is distributed in the hope that it will be useful,
  2335. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2336. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  2337. + * GNU General Public License for more details.
  2338. + *
  2339. + * You should have received a copy of the GNU General Public License
  2340. + * along with this program; if not, write to the Free Software
  2341. + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  2342. + *
  2343. + *
  2344. + */
  2345. +
  2346. +#include "env.h"
  2347. +
  2348. +#if defined(HAVE_IMX_API)
  2349. +#include "IMXCECAdapterCommunication.h"
  2350. +
  2351. +#include "lib/CECTypeUtils.h"
  2352. +#include "lib/LibCEC.h"
  2353. +#include "lib/platform/sockets/cdevsocket.h"
  2354. +#include "lib/platform/util/StdString.h"
  2355. +#include "lib/platform/util/buffer.h"
  2356. +
  2357. +/*
  2358. + * Ioctl definitions from kernel header
  2359. + */
  2360. +#define HDMICEC_IOC_MAGIC 'H'
  2361. +#define HDMICEC_IOC_SETLOGICALADDRESS _IOW(HDMICEC_IOC_MAGIC, 1, unsigned char)
  2362. +#define HDMICEC_IOC_STARTDEVICE _IO(HDMICEC_IOC_MAGIC, 2)
  2363. +#define HDMICEC_IOC_STOPDEVICE _IO(HDMICEC_IOC_MAGIC, 3)
  2364. +#define HDMICEC_IOC_GETPHYADDRESS _IOR(HDMICEC_IOC_MAGIC, 4, unsigned char[4])
  2365. +
  2366. +#define MAX_CEC_MESSAGE_LEN 17
  2367. +
  2368. +#define MESSAGE_TYPE_RECEIVE_SUCCESS 1
  2369. +#define MESSAGE_TYPE_NOACK 2
  2370. +#define MESSAGE_TYPE_DISCONNECTED 3
  2371. +#define MESSAGE_TYPE_CONNECTED 4
  2372. +#define MESSAGE_TYPE_SEND_SUCCESS 5
  2373. +
  2374. +typedef struct hdmi_cec_event{
  2375. + int event_type;
  2376. + int msg_len;
  2377. + unsigned char msg[MAX_CEC_MESSAGE_LEN];
  2378. +}hdmi_cec_event;
  2379. +
  2380. +
  2381. +using namespace std;
  2382. +using namespace CEC;
  2383. +using namespace PLATFORM;
  2384. +
  2385. +#include "AdapterMessageQueue.h"
  2386. +
  2387. +#define LIB_CEC m_callback->GetLib()
  2388. +
  2389. +// these are defined in nxp private header file
  2390. +#define CEC_MSG_SUCCESS 0x00 /*Message transmisson Succeed*/
  2391. +#define CEC_CSP_OFF_STATE 0x80 /*CSP in Off State*/
  2392. +#define CEC_BAD_REQ_SERVICE 0x81 /*Bad .req service*/
  2393. +#define CEC_MSG_FAIL_UNABLE_TO_ACCESS 0x82 /*Message transmisson failed: Unable to access CEC line*/
  2394. +#define CEC_MSG_FAIL_ARBITRATION_ERROR 0x83 /*Message transmisson failed: Arbitration error*/
  2395. +#define CEC_MSG_FAIL_BIT_TIMMING_ERROR 0x84 /*Message transmisson failed: Bit timming error*/
  2396. +#define CEC_MSG_FAIL_DEST_NOT_ACK 0x85 /*Message transmisson failed: Destination Address not aknowledged*/
  2397. +#define CEC_MSG_FAIL_DATA_NOT_ACK 0x86 /*Message transmisson failed: Databyte not acknowledged*/
  2398. +
  2399. +
  2400. +CIMXCECAdapterCommunication::CIMXCECAdapterCommunication(IAdapterCommunicationCallback *callback) :
  2401. + IAdapterCommunication(callback)/*,
  2402. + m_bLogicalAddressChanged(false)*/
  2403. +{
  2404. + CLockObject lock(m_mutex);
  2405. +
  2406. + m_iNextMessage = 0;
  2407. + //m_logicalAddresses.Clear();
  2408. + m_logicalAddress = CECDEVICE_UNKNOWN;
  2409. + m_dev = new CCDevSocket(CEC_IMX_PATH);
  2410. +}
  2411. +
  2412. +CIMXCECAdapterCommunication::~CIMXCECAdapterCommunication(void)
  2413. +{
  2414. + Close();
  2415. +
  2416. + CLockObject lock(m_mutex);
  2417. + delete m_dev;
  2418. + m_dev = 0;
  2419. +}
  2420. +
  2421. +bool CIMXCECAdapterCommunication::IsOpen(void)
  2422. +{
  2423. + return IsInitialised() && m_dev->IsOpen();
  2424. +}
  2425. +
  2426. +bool CIMXCECAdapterCommunication::Open(uint32_t iTimeoutMs, bool UNUSED(bSkipChecks), bool bStartListening)
  2427. +{
  2428. + if (m_dev->Open(iTimeoutMs))
  2429. + {
  2430. + if (!bStartListening || CreateThread()) {
  2431. + if (m_dev->Ioctl(HDMICEC_IOC_STARTDEVICE, NULL) != 0) {
  2432. + LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to start device\n", __func__);
  2433. + }
  2434. + return true;
  2435. + }
  2436. + m_dev->Close();
  2437. + }
  2438. +
  2439. + return false;
  2440. +}
  2441. +
  2442. +
  2443. +void CIMXCECAdapterCommunication::Close(void)
  2444. +{
  2445. + StopThread(0);
  2446. + if (m_dev->Ioctl(HDMICEC_IOC_STOPDEVICE, NULL) != 0) {
  2447. + LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: Unable to stop device\n", __func__);
  2448. + }
  2449. + m_dev->Close();
  2450. +}
  2451. +
  2452. +
  2453. +std::string CIMXCECAdapterCommunication::GetError(void) const
  2454. +{
  2455. + std::string strError(m_strError);
  2456. + return strError;
  2457. +}
  2458. +
  2459. +
  2460. +cec_adapter_message_state CIMXCECAdapterCommunication::Write(
  2461. + const cec_command &data, bool &UNUSED(bRetry), uint8_t UNUSED(iLineTimeout), bool UNUSED(bIsReply))
  2462. +{
  2463. + //cec_frame frame;
  2464. + unsigned char message[MAX_CEC_MESSAGE_LEN];
  2465. + int msg_len = 1;
  2466. + cec_adapter_message_state rc = ADAPTER_MESSAGE_STATE_ERROR;
  2467. +
  2468. + if ((size_t)data.parameters.size + data.opcode_set + 1 > sizeof(message))
  2469. + {
  2470. + LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: data size too large !", __func__);
  2471. + return ADAPTER_MESSAGE_STATE_ERROR;
  2472. + }
  2473. +
  2474. + message[0] = (data.initiator << 4) | (data.destination & 0x0f);
  2475. + if (data.opcode_set)
  2476. + {
  2477. + message[1] = data.opcode;
  2478. + msg_len++;
  2479. + memcpy(&message[2], data.parameters.data, data.parameters.size);
  2480. + msg_len+=data.parameters.size;
  2481. + }
  2482. +
  2483. + if (m_dev->Write(message, msg_len) == msg_len)
  2484. + {
  2485. + rc = ADAPTER_MESSAGE_STATE_SENT_ACKED;
  2486. + }
  2487. + else
  2488. + LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: sent command error !", __func__);
  2489. +
  2490. + return rc;
  2491. +}
  2492. +
  2493. +
  2494. +uint16_t CIMXCECAdapterCommunication::GetFirmwareVersion(void)
  2495. +{
  2496. + /* FIXME add ioctl ? */
  2497. + return 0;
  2498. +}
  2499. +
  2500. +
  2501. +cec_vendor_id CIMXCECAdapterCommunication::GetVendorId(void)
  2502. +{
  2503. + return CEC_VENDOR_UNKNOWN;
  2504. +}
  2505. +
  2506. +
  2507. +uint16_t CIMXCECAdapterCommunication::GetPhysicalAddress(void)
  2508. +{
  2509. + uint32_t info;
  2510. +
  2511. + if (m_dev->Ioctl(HDMICEC_IOC_GETPHYADDRESS, &info) != 0)
  2512. + {
  2513. + LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_GETPHYADDRESS failed !", __func__);
  2514. + return CEC_INVALID_PHYSICAL_ADDRESS;
  2515. + }
  2516. +
  2517. + return info;
  2518. +}
  2519. +
  2520. +
  2521. +cec_logical_addresses CIMXCECAdapterCommunication::GetLogicalAddresses(void)
  2522. +{
  2523. + cec_logical_addresses addresses;
  2524. + addresses.Clear();
  2525. +
  2526. + CLockObject lock(m_mutex);
  2527. + if ( m_logicalAddress != CECDEVICE_UNKNOWN)
  2528. + addresses.Set(m_logicalAddress);
  2529. +
  2530. + return addresses;
  2531. +}
  2532. +
  2533. +
  2534. +bool CIMXCECAdapterCommunication::SetLogicalAddresses(const cec_logical_addresses &addresses)
  2535. +{
  2536. + int log_addr = addresses.primary;
  2537. +
  2538. + CLockObject lock(m_mutex);
  2539. + if (m_logicalAddress == log_addr)
  2540. + return true;
  2541. +
  2542. + if (m_dev->Ioctl(HDMICEC_IOC_SETLOGICALADDRESS, (void *)log_addr) != 0)
  2543. + {
  2544. + LIB_CEC->AddLog(CEC_LOG_ERROR, "%s: HDMICEC_IOC_SETLOGICALADDRESS failed !", __func__);
  2545. + return false;
  2546. + }
  2547. +
  2548. + m_logicalAddress = (cec_logical_address)log_addr;
  2549. + return true;
  2550. +}
  2551. +
  2552. +
  2553. +void *CIMXCECAdapterCommunication::Process(void)
  2554. +{
  2555. + bool bHandled;
  2556. + hdmi_cec_event event;
  2557. + int ret;
  2558. +
  2559. + uint32_t opcode, status;
  2560. + cec_logical_address initiator, destination;
  2561. +
  2562. + while (!IsStopped())
  2563. + {
  2564. + ret = m_dev->Read((char *)&event, sizeof(event), 5000);
  2565. + if (ret > 0)
  2566. + {
  2567. +
  2568. + initiator = cec_logical_address(event.msg[0] >> 4);
  2569. + destination = cec_logical_address(event.msg[0] & 0x0f);
  2570. +
  2571. + //LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: Read data : type : %d initiator %d dest %d", __func__, event.event_type, initiator, destination);
  2572. + if (event.event_type == MESSAGE_TYPE_RECEIVE_SUCCESS)
  2573. + /* Message received */
  2574. + {
  2575. + cec_command cmd;
  2576. +
  2577. + cec_command::Format(
  2578. + cmd, initiator, destination,
  2579. + ( event.msg_len > 1 ) ? cec_opcode(event.msg[1]) : CEC_OPCODE_NONE);
  2580. +
  2581. + for( uint8_t i = 2; i < event.msg_len; i++ )
  2582. + cmd.parameters.PushBack(event.msg[i]);
  2583. +
  2584. + if (!IsStopped())
  2585. + m_callback->OnCommandReceived(cmd);
  2586. + }
  2587. + /* We are not interested in other events */
  2588. + } /*else {
  2589. + LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s: Read returned %d", __func__, ret);
  2590. + }*/
  2591. +
  2592. + }
  2593. +
  2594. + return 0;
  2595. +}
  2596. +
  2597. +#endif // HAVE_IMX_API
  2598. diff -Nur libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterCommunication.h libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterCommunication.h
  2599. --- libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 1970-01-01 01:00:00.000000000 +0100
  2600. +++ libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 2014-09-01 13:48:54.722437350 +0200
  2601. @@ -0,0 +1,114 @@
  2602. +#pragma once
  2603. +/*
  2604. + * This file is part of the libCEC(R) library.
  2605. + *
  2606. + * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
  2607. + * libCEC(R) is an original work, containing original code.
  2608. + *
  2609. + * libCEC(R) is a trademark of Pulse-Eight Limited.
  2610. + *
  2611. + * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
  2612. + *
  2613. + * You can redistribute this file and/or modify
  2614. + * it under the terms of the GNU General Public License as published by
  2615. + * the Free Software Foundation; either version 2 of the License, or
  2616. + * (at your option) any later version.
  2617. + *
  2618. + * This program is distributed in the hope that it will be useful,
  2619. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2620. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  2621. + * GNU General Public License for more details.
  2622. + *
  2623. + * You should have received a copy of the GNU General Public License
  2624. + * along with this program; if not, write to the Free Software
  2625. + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  2626. + *
  2627. + *
  2628. + */
  2629. +
  2630. +#if defined(HAVE_IMX_API)
  2631. +
  2632. +#include "lib/platform/threads/mutex.h"
  2633. +#include "lib/platform/threads/threads.h"
  2634. +#include "lib/platform/sockets/socket.h"
  2635. +#include "lib/adapter/AdapterCommunication.h"
  2636. +#include <map>
  2637. +
  2638. +#define IMX_ADAPTER_VID 0x0471 /*FIXME TBD*/
  2639. +#define IMX_ADAPTER_PID 0x1001
  2640. +
  2641. +
  2642. +
  2643. +namespace PLATFORM
  2644. +{
  2645. + class CCDevSocket;
  2646. +};
  2647. +
  2648. +
  2649. +namespace CEC
  2650. +{
  2651. + class CAdapterMessageQueueEntry;
  2652. +
  2653. + class CIMXCECAdapterCommunication : public IAdapterCommunication, public PLATFORM::CThread
  2654. + {
  2655. + public:
  2656. + /*!
  2657. + * @brief Create a new USB-CEC communication handler.
  2658. + * @param callback The callback to use for incoming CEC commands.
  2659. + */
  2660. + CIMXCECAdapterCommunication(IAdapterCommunicationCallback *callback);
  2661. + virtual ~CIMXCECAdapterCommunication(void);
  2662. +
  2663. + /** @name IAdapterCommunication implementation */
  2664. + ///{
  2665. + bool Open(uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT, bool bSkipChecks = false, bool bStartListening = true);
  2666. + void Close(void);
  2667. + bool IsOpen(void);
  2668. + std::string GetError(void) const;
  2669. + cec_adapter_message_state Write(const cec_command &data, bool &bRetry, uint8_t iLineTimeout, bool bIsReply);
  2670. +
  2671. + bool SetLineTimeout(uint8_t UNUSED(iTimeout)) { return true; }
  2672. + bool StartBootloader(void) { return false; }
  2673. + bool SetLogicalAddresses(const cec_logical_addresses &addresses);
  2674. + cec_logical_addresses GetLogicalAddresses(void);
  2675. + bool PingAdapter(void) { return IsInitialised(); }
  2676. + uint16_t GetFirmwareVersion(void);
  2677. + uint32_t GetFirmwareBuildDate(void) { return 0; }
  2678. + bool IsRunningLatestFirmware(void) { return true; }
  2679. + bool PersistConfiguration(const libcec_configuration & UNUSED(configuration)) { return false; }
  2680. + bool GetConfiguration(libcec_configuration & UNUSED(configuration)) { return false; }
  2681. + std::string GetPortName(void) { return std::string("IMX"); }
  2682. + uint16_t GetPhysicalAddress(void);
  2683. + bool SetControlledMode(bool UNUSED(controlled)) { return true; }
  2684. + cec_vendor_id GetVendorId(void);
  2685. + bool SupportsSourceLogicalAddress(const cec_logical_address address) { return address > CECDEVICE_TV && address <= CECDEVICE_BROADCAST; }
  2686. + cec_adapter_type GetAdapterType(void) { return ADAPTERTYPE_IMX; }
  2687. + uint16_t GetAdapterVendorId(void) const { return IMX_ADAPTER_VID; }
  2688. + uint16_t GetAdapterProductId(void) const { return IMX_ADAPTER_PID; }
  2689. + void SetActiveSource(bool UNUSED(bSetTo), bool UNUSED(bClientUnregistered)) {}
  2690. + ///}
  2691. +
  2692. + /** @name PLATFORM::CThread implementation */
  2693. + ///{
  2694. + void *Process(void);
  2695. + ///}
  2696. +
  2697. + private:
  2698. + bool IsInitialised(void) const { return m_dev != 0; };
  2699. +
  2700. + std::string m_strError; /**< current error message */
  2701. +
  2702. + //cec_logical_addresses m_logicalAddresses;
  2703. + cec_logical_address m_logicalAddress;
  2704. +
  2705. + PLATFORM::CMutex m_mutex;
  2706. + PLATFORM::CCDevSocket *m_dev; /**< the device connection */
  2707. +
  2708. + PLATFORM::CMutex m_messageMutex;
  2709. + uint32_t m_iNextMessage;
  2710. + std::map<uint32_t, CAdapterMessageQueueEntry *> m_messages;
  2711. + };
  2712. +
  2713. +};
  2714. +
  2715. +#endif
  2716. diff -Nur libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp
  2717. --- libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 1970-01-01 01:00:00.000000000 +0100
  2718. +++ libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 2014-09-01 13:48:54.722437350 +0200
  2719. @@ -0,0 +1,42 @@
  2720. +/*
  2721. + * This file is part of the libCEC(R) library.
  2722. + *
  2723. + * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
  2724. + * libCEC(R) is an original work, containing original code.
  2725. + *
  2726. + * libCEC(R) is a trademark of Pulse-Eight Limited.
  2727. + *
  2728. + * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
  2729. + *
  2730. + * You can redistribute this file and/or modify
  2731. + * it under the terms of the GNU General Public License as published by
  2732. + * the Free Software Foundation; either version 2 of the License, or
  2733. + * (at your option) any later version.
  2734. + *
  2735. + * This program is distributed in the hope that it will be useful,
  2736. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2737. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  2738. + * GNU General Public License for more details.
  2739. + *
  2740. + * You should have received a copy of the GNU General Public License
  2741. + * along with this program; if not, write to the Free Software
  2742. + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  2743. + *
  2744. + *
  2745. + */
  2746. +
  2747. +#include "env.h"
  2748. +#include <stdio.h>
  2749. +
  2750. +#if defined(HAVE_IMX_API)
  2751. +#include "IMXCECAdapterDetection.h"
  2752. +
  2753. +
  2754. +using namespace CEC;
  2755. +
  2756. +bool CIMXCECAdapterDetection::FindAdapter(void)
  2757. +{
  2758. + return access(CEC_IMX_PATH, 0) == 0;
  2759. +}
  2760. +
  2761. +#endif
  2762. diff -Nur libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterDetection.h libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterDetection.h
  2763. --- libcec-2.1.4/src/lib/adapter/IMX/IMXCECAdapterDetection.h 1970-01-01 01:00:00.000000000 +0100
  2764. +++ libcec-imx6/src/lib/adapter/IMX/IMXCECAdapterDetection.h 2014-09-01 13:48:54.722437350 +0200
  2765. @@ -0,0 +1,36 @@
  2766. +#pragma once
  2767. +/*
  2768. + * This file is part of the libCEC(R) library.
  2769. + *
  2770. + * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
  2771. + * libCEC(R) is an original work, containing original code.
  2772. + *
  2773. + * libCEC(R) is a trademark of Pulse-Eight Limited.
  2774. + *
  2775. + * IMX adpater port is Copyright (C) 2013 by Stephan Rafin
  2776. + *
  2777. + * You can redistribute this file and/or modify
  2778. + * it under the terms of the GNU General Public License as published by
  2779. + * the Free Software Foundation; either version 2 of the License, or
  2780. + * (at your option) any later version.
  2781. + *
  2782. + * This program is distributed in the hope that it will be useful,
  2783. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2784. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  2785. + * GNU General Public License for more details.
  2786. + *
  2787. + * You should have received a copy of the GNU General Public License
  2788. + * along with this program; if not, write to the Free Software
  2789. + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  2790. + *
  2791. + *
  2792. + */
  2793. +
  2794. +namespace CEC
  2795. +{
  2796. + class CIMXCECAdapterDetection
  2797. + {
  2798. + public:
  2799. + static bool FindAdapter(void);
  2800. + };
  2801. +}
  2802. diff -Nur libcec-2.1.4/src/lib/CECTypeUtils.h libcec-imx6/src/lib/CECTypeUtils.h
  2803. --- libcec-2.1.4/src/lib/CECTypeUtils.h 2013-12-16 10:32:51.000000000 +0100
  2804. +++ libcec-imx6/src/lib/CECTypeUtils.h 2014-09-01 13:48:54.698437211 +0200
  2805. @@ -858,6 +858,8 @@
  2806. return "Raspberry Pi";
  2807. case ADAPTERTYPE_TDA995x:
  2808. return "TDA995x";
  2809. + case ADAPTERTYPE_IMX:
  2810. + return "i.MX";
  2811. default:
  2812. return "unknown";
  2813. }
  2814. diff -Nur libcec-2.1.4/src/lib/Makefile.am libcec-imx6/src/lib/Makefile.am
  2815. --- libcec-2.1.4/src/lib/Makefile.am 2013-12-16 10:32:51.000000000 +0100
  2816. +++ libcec-imx6/src/lib/Makefile.am 2014-09-01 13:48:54.718437326 +0200
  2817. @@ -59,5 +59,10 @@
  2818. adapter/TDA995x/TDA995xCECAdapterCommunication.cpp
  2819. endif
  2820. +## i.MX6 support
  2821. +if USE_IMX_API
  2822. +libcec_la_SOURCES += adapter/IMX/IMXCECAdapterDetection.cpp \
  2823. + adapter/IMX/IMXCECAdapterCommunication.cpp
  2824. +endif
  2825. libcec_la_LDFLAGS = @LIBS_LIBCEC@ -version-info @VERSION@
  2826. diff -Nur libcec-2.1.4/support/create-driver-installer.cmd libcec-imx6/support/create-driver-installer.cmd
  2827. --- libcec-2.1.4/support/create-driver-installer.cmd 1970-01-01 01:00:00.000000000 +0100
  2828. +++ libcec-imx6/support/create-driver-installer.cmd 2014-09-01 13:48:54.758437558 +0200
  2829. @@ -0,0 +1,58 @@
  2830. +@echo off
  2831. +
  2832. +rem Check for NSIS
  2833. +IF EXIST "%ProgramFiles%\NSIS\makensis.exe" (
  2834. + set NSIS="%ProgramFiles%\NSIS\makensis.exe"
  2835. +) ELSE IF EXIST "%ProgramFiles(x86)%\NSIS\makensis.exe" (
  2836. + set NSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
  2837. +) ELSE GOTO NONSIS
  2838. +
  2839. +rem Check for the Windows DDK
  2840. +IF NOT EXIST "C:\WinDDK\7600.16385.1" GOTO NODDK
  2841. +set DDK="C:\WinDDK\7600.16385.1"
  2842. +
  2843. +mkdir ..\build
  2844. +
  2845. +echo. Copying driver installer
  2846. +copy "%DDK%\redist\DIFx\dpinst\MultiLin\amd64\dpinst.exe" ..\build\dpinst-amd64.exe
  2847. +copy "%DDK%\redist\DIFx\dpinst\MultiLin\x86\dpinst.exe" ..\build\dpinst-x86.exe
  2848. +
  2849. +:CREATECAT
  2850. +cd ..\driver
  2851. +IF EXIST "..\support\private\create-cat.cmd" (
  2852. + echo. Updating the catalogue
  2853. + CALL ..\support\private\create-cat.cmd p8usb-cec.cat
  2854. +)
  2855. +
  2856. +:CREATEINSTALLER
  2857. +echo. Creating the installer
  2858. +cd ..\project
  2859. +%NSIS% /V1 /X"SetCompressor /FINAL lzma" "p8-usbcec-driver.nsi"
  2860. +
  2861. +IF NOT EXIST "..\build\p8-usbcec-driver-installer.exe" GOTO :ERRORCREATINGINSTALLER
  2862. +
  2863. +rem Sign the installer if sign-binary.cmd exists
  2864. +IF EXIST "..\support\private\sign-binary.cmd" (
  2865. + echo. Signing the installer binaries
  2866. + CALL ..\support\private\sign-binary.cmd ..\build\p8-usbcec-driver-installer.exe
  2867. +)
  2868. +
  2869. +echo. The installer can be found here: ..\build\p8-usbcec-driver-installer.exe
  2870. +
  2871. +GOTO EXIT
  2872. +
  2873. +:NOSIS
  2874. +echo. NSIS could not be found on your system.
  2875. +GOTO EXIT
  2876. +
  2877. +:NODDK
  2878. +echo. Windows DDK could not be found on your system
  2879. +GOTO EXIT
  2880. +
  2881. +:ERRORCREATINGINSTALLER
  2882. +echo. The installer could not be created.
  2883. +
  2884. +:EXIT
  2885. +del /q /f ..\build\dpinst-amd64.exe
  2886. +del /q /f ..\build\dpinst-x86.exe
  2887. +cd ..\support
  2888. \ Kein Zeilenumbruch am Dateiende.
  2889. diff -Nur libcec-2.1.4/support/create-installer.bat libcec-imx6/support/create-installer.bat
  2890. --- libcec-2.1.4/support/create-installer.bat 1970-01-01 01:00:00.000000000 +0100
  2891. +++ libcec-imx6/support/create-installer.bat 2014-09-01 13:48:54.758437558 +0200
  2892. @@ -0,0 +1,140 @@
  2893. +@echo off
  2894. +
  2895. +set EXITCODE=1
  2896. +
  2897. +rem Check for NSIS
  2898. +IF EXIST "%ProgramFiles%\NSIS\makensis.exe" (
  2899. + set NSIS="%ProgramFiles%\NSIS\makensis.exe"
  2900. +) ELSE IF EXIST "%ProgramFiles(x86)%\NSIS\makensis.exe" (
  2901. + set NSIS="%ProgramFiles(x86)%\NSIS\makensis.exe"
  2902. +) ELSE GOTO NONSIS
  2903. +
  2904. +rem Check for VC11
  2905. +IF "%VS110COMNTOOLS%"=="" (
  2906. + set COMPILER11="%ProgramFiles%\Microsoft Visual Studio 11.0\Common7\IDE\VCExpress.exe"
  2907. +) ELSE IF EXIST "%VS110COMNTOOLS%\..\IDE\VCExpress.exe" (
  2908. + set COMPILER11="%VS110COMNTOOLS%\..\IDE\VCExpress.exe"
  2909. +) ELSE IF EXIST "%VS110COMNTOOLS%\..\IDE\devenv.exe" (
  2910. + set COMPILER11="%VS110COMNTOOLS%\..\IDE\devenv.exe"
  2911. +) ELSE GOTO NOSDK11
  2912. +
  2913. +del /s /f /q ..\build
  2914. +mkdir ..\build
  2915. +
  2916. +IF EXIST "..\support\p8-usbcec-driver-installer.exe" (
  2917. + copy "..\support\p8-usbcec-driver-installer.exe" "..\build\."
  2918. +) ELSE (
  2919. + rem Check for the Windows DDK
  2920. + IF NOT EXIST "C:\WinDDK\7600.16385.1" GOTO NODDK
  2921. + set DDK="C:\WinDDK\7600.16385.1"
  2922. +
  2923. + call create-driver-installer.cmd
  2924. +)
  2925. +
  2926. +mkdir ..\build\x64
  2927. +
  2928. +cd ..\project
  2929. +
  2930. +rem Skip to libCEC/x86 when we're running on win32
  2931. +if "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" goto libcecx86
  2932. +
  2933. +rem Compile libCEC and cec-client x64
  2934. +echo. Cleaning libCEC (x64)
  2935. +%COMPILER11% libcec.sln /clean "Release|x64"
  2936. +echo. Compiling libCEC (x64)
  2937. +%COMPILER11% libcec.sln /build "Release|x64"
  2938. +
  2939. +:libcecx86
  2940. +rem Compile libCEC and cec-client Win32
  2941. +echo. Cleaning libCEC (x86)
  2942. +%COMPILER11% libcec.sln /clean "Release|x86"
  2943. +echo. Compiling libCEC (x86)
  2944. +%COMPILER11% libcec.sln /build "Release|x86"
  2945. +
  2946. +rem Clean things up before creating the installer
  2947. +del /q /f ..\build\LibCecSharp.pdb
  2948. +del /q /f ..\build\CecSharpTester.pdb
  2949. +del /q /f ..\build\cec-tray.pdb
  2950. +del /q /f ..\build\cec-tray.vshost.exe.manifest
  2951. +del /q /f ..\build\cec-.vshost.exe
  2952. +del /q /f ..\build\x64\LibCecSharp.pdb
  2953. +del /q /f ..\build\x64\CecSharpTester.pdb
  2954. +del /q /f ..\build\x64\cec-tray.pdb
  2955. +del /q /f ..\build\x64\cec-tray.vshost.exe.manifest
  2956. +del /q /f ..\build\x64\cec-.vshost.exe
  2957. +
  2958. +rem Check for sign-binary.cmd, only present on the Pulse-Eight production build system
  2959. +rem Calls signtool.exe and signs the DLLs with Pulse-Eight's code signing key
  2960. +IF NOT EXIST "..\support\private\sign-binary.cmd" GOTO CREATEINSTALLER
  2961. +echo. Signing all binaries
  2962. +CALL ..\support\private\sign-binary.cmd ..\build\cec-client.exe
  2963. +CALL ..\support\private\sign-binary.cmd ..\build\CecSharpTester.exe
  2964. +CALL ..\support\private\sign-binary.cmd ..\build\libcec.dll
  2965. +CALL ..\support\private\sign-binary.cmd ..\build\LibCecSharp.dll
  2966. +CALL ..\support\private\sign-binary.cmd ..\build\cec-tray.exe
  2967. +CALL ..\support\private\sign-binary.cmd ..\build\x64\cec-client.exe
  2968. +CALL ..\support\private\sign-binary.cmd ..\build\x64\CecSharpTester.exe
  2969. +CALL ..\support\private\sign-binary.cmd ..\build\x64\libcec.dll
  2970. +CALL ..\support\private\sign-binary.cmd ..\build\x64\LibCecSharp.dll
  2971. +CALL ..\support\private\sign-binary.cmd ..\build\x64\cec-tray.exe
  2972. +
  2973. +:CREATEINSTALLER
  2974. +echo. Creating the installer
  2975. +cd ..\build\x64
  2976. +copy libcec.dll libcec.x64.dll
  2977. +copy cec-client.exe cec-client.x64.exe
  2978. +cd ..\..\project
  2979. +%NSIS% /V1 /X"SetCompressor /FINAL lzma" "libCEC.nsi"
  2980. +
  2981. +IF NOT EXIST "..\build\libCEC-installer.exe" GOTO :ERRORCREATINGINSTALLER
  2982. +
  2983. +rem Sign the installer if sign-binary.cmd exists
  2984. +IF EXIST "..\support\private\sign-binary.cmd" (
  2985. + echo. Signing the installer binaries
  2986. + CALL ..\support\private\sign-binary.cmd ..\build\libCEC-installer.exe
  2987. +)
  2988. +
  2989. +IF "%1%"=="" (
  2990. + echo. The installer can be found here: ..\build\libCEC-installer.exe
  2991. +) ELSE (
  2992. + move ..\build\libCEC-installer.exe ..\build\libCEC-%1%-installer.exe
  2993. + echo. The installer can be found here: ..\build\libCEC-%1%-installer.exe
  2994. +)
  2995. +
  2996. +set EXITCODE=0
  2997. +GOTO EXIT
  2998. +
  2999. +:NOSDK11
  3000. +echo. Visual Studio 2012 was not found on your system.
  3001. +GOTO EXIT
  3002. +
  3003. +:NOSIS
  3004. +echo. NSIS could not be found on your system.
  3005. +GOTO EXIT
  3006. +
  3007. +:NODDK
  3008. +echo. Windows DDK could not be found on your system
  3009. +GOTO EXIT
  3010. +
  3011. +:ERRORCREATINGINSTALLER
  3012. +echo. The installer could not be created. The most likely cause is that something went wrong while compiling.
  3013. +
  3014. +:EXIT
  3015. +del /q /f ..\build\cec-client.exe
  3016. +del /q /f ..\build\CecSharpTester.exe
  3017. +del /q /f ..\build\cec-tray.exe
  3018. +del /q /f ..\build\*.dll
  3019. +del /q /f ..\build\*.lib
  3020. +del /q /f ..\build\*.exp
  3021. +del /q /f ..\build\*.xml
  3022. +del /q /f ..\build\*.metagen
  3023. +del /s /f /q ..\build\x64
  3024. +rmdir ..\build\x64
  3025. +cd ..\support
  3026. +
  3027. +IF "%1%"=="" (
  3028. + echo. exitcode = %EXITCODE%
  3029. +) ELSE (
  3030. + exit %EXITCODE%
  3031. +)
  3032. +
  3033. Binärdateien libcec-2.1.4/support/p8-usbcec-driver-installer.exe und libcec-imx6/support/p8-usbcec-driver-installer.exe sind verschieden.