From e7bd2f9c459997043857a5db0b0000a9d7645973 Mon Sep 17 00:00:00 2001 From: Clebert Suconic Date: Wed, 15 Jul 2015 20:29:07 -0400 Subject: [PATCH] ARTEMIS-150 moving to cmake will fix nar/jar dependency issues and fix SBT --- .gitignore | 9 +++ artemis-native/CMakeLists.txt | 18 +++++ artemis-native/bin/libartemis-native-64.so | Bin 51820 -> 46624 bytes artemis-native/compile-native.sh | 3 +- artemis-native/pom.xml | 43 +---------- artemis-native/src/main/c/CMakeLists.txt | 79 +++++++++++++++++++++ 6 files changed, 109 insertions(+), 43 deletions(-) create mode 100644 artemis-native/CMakeLists.txt create mode 100644 artemis-native/src/main/c/CMakeLists.txt diff --git a/.gitignore b/.gitignore index 5f963ddd3f..71af624862 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,12 @@ ratReport.txt .settings .checkstyle .factorypath + +# for native build +**/CMakeCache.txt +**/CMakeFiles/ +**/Makefile +**/cmake_install.cmake + +# this file is generated +artemis-native/src/main/c/org_apache_activemq_artemis_core_libaio_Native.h diff --git a/artemis-native/CMakeLists.txt b/artemis-native/CMakeLists.txt new file mode 100644 index 0000000000..06eb3b3079 --- /dev/null +++ b/artemis-native/CMakeLists.txt @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) + +SUBDIRS(src/main/c) diff --git a/artemis-native/bin/libartemis-native-64.so b/artemis-native/bin/libartemis-native-64.so index 1deebbca1601483d5111afc080c43e144814d1ca..1c4983c9d3156bd252c4799432fe5bba970eee1b 100755 GIT binary patch literal 46624 zcmd_T3wTu3)i-`7lR)H>j7n_0v>r8TP{a%*5JWT~37LTbrX*bIrNfX+NF>RG%me~z zNeEEJF&eG4w)PUOwb;vBYOSSOH3|aWskfr`l~nuc8Dj-oMZD(wt+n@_Idd{&mA=pO z|9{VSAhXZ%5tSRI%eR$GU(q%0ir%gI!;zc`{kmh^_QErD?Yge)uGhK> zw;p4k7D4{+95YJmh6vtB<~+IYk?BIDU&mjKq-$lm1nE+_e;Lwm;%_+u=uWB%?DRj}WA9(8{m-pqrriJT zU%%(Msi-f;M-hpyfJ%tK4>?V5PP@{C>H)^FVN$KH2yc3#|h-gc3*JA>htbeJnQZa>&M^s`i)nOT7O#htl{z34gc=^=a#Iw{P%hD9@xC% zm!3QA^B%qLx_k4+hK7H#^rh9yPI-Sy)`eD^T4_6Z>eOWPFgn_?$q-X_!7-0Zfj>7o zHQt2al}gU8H2h1_l=}oaUaE2{z@G}IeygX@^U^fv^4sUOJfI$X{Y1Q zx-CuPZ+}C(r1GorY50FUHnsjOY3l1uBj?sMb~rYToR`zocUc-a{xs#@k%oUkn)bD) z@x$My=`WpW^n4leQ`vcb8h?8`jUA$C{9!0feWyTw-RcaW52cawVH*1^Pormk8awekwa0OygJgrLjX3^iL({sx)@~?=c6FBn|&bY4|VYxII=Iyg)cnzVaou&seQ&fdGDv_Mq)B{*KeeY7WU? z$f%~}N;zc`Z;<%!k?(Zy4=fS@&7ElbQ!cgdiQ3+cI@2%Sz<-|EFo=HN8pTa0A|^OZnTSd^N8v9Vg@zNd?c9{7Yqhi@q*^PbHoO|36Ke zpmoag0%f1yOF3mUX~Z@|B-;169mi_hX9}QP>fgcs06Q!f__LC~8v2uc9C9Lhoy0qU zQ+)^JWYsD0X;RNaUID0bk7vIctM$zjxN5KG*&jyQ^PrM1%e_a+|AW-C-!Fhw5+8

Y|08+BsGHEwm;?xeuY2&oZl!Hk8LfDP$P$VbmH%R;^ zY5ZqHj?hP|6O1%BrtJ=?=e}ivz7le2>yq;KN%^Ct{&(OQ)ywM7dthhsD~I$exD#&^ zxV|`OnFoF<_34-TDE%Lmc3!?jYEZbBu@6CZ3*l^{QVMF{Vs@O zWH(*d-+?r0@{kpM7k@pitnzvF71=^_DZwQ2lkmTdQ~6@u|f$v;i%qf31X;5W3r4*3o( zU+dqfGp&9;knyBT#*=;Wz*(|?9jX$*$r9fr?P-nMJET5+(ht%7c`K9kEtB=VTH>F{ z{_c?auafu~@DuX4KIv~zo43QP|B2dui~fIvKGa{@WWQGYPcc40b6Mp4680qddnK+* z`DL=cjyVGGLvPwHlkI4Y|38rYT`s}*P02q~*30V?_$uf@+a&4F{nDRhvuN$op4Pbi zmaMO}y*gxj9lBh|ohuSe^Z8b`1Y3Qfu)jU*^J%_@rq(9S=dPXas}HmXRyKvgf%e+@ z70tocK&^j8b3hzReZ*JS=_djH=BD*voV&)iNJ^+^_J=}&kmkE&!SuNc+*Pe>e9qzu ze{=JaU{n44K)5kjU*#?JT@hSyMW8P1br$)qXkpY{xt=mPrta?ZM{eKzqfM zs+thgyrg!CWFkymLQ^3JPE zk$rl7AOzjknK)B$RZgi|ldNE+Qy>-%)4@f|UEk~_F|{?8T!gt(U`rOjo@kp+|B9wH zPUm#&Q*-#j>)Haorq+gF6)82(IR!SZ>Z}X2g`0w{#cLb=VWC`2s2B~|1|j4WvYzv5 z{O&r=n4GUt=!k|%5=SLSIa7*!HNHSgTX>zXJy0)pc9yJVgw7_fGiR<8+zK+&FXB*rxP*1(2 zv(wiWXb%O+yP^7;BC1ldawtR=Xu+X~^c&U$`%ose{YZx7P57~_b?uS_q%{S7t2+W6 z0T{74;130~y5=B$8`=W_tu5Tx9`M)uS~|jkPSs|zYN%PT&L0l=;+7VElVm!{3o*g9 zRL?}YvVBWYe4xEO*v_4)CJZ{{TLCp-bau`qXiLydbv_(%*VTlb&bmf_yD!}CZwdpb zq6V+61zsxH;8#tpEAbofx1{1{dnqsZe96U#Vc{w-WS7KcL+Xl-1_*ZgxMb+}rAw}* zOesXBtlNT`@HDbCMx#33m3!^|G|I0O!QX}E7@W+%x zKynu$he`A(rh;v-QVaJMXySA>h2pU>F&vPNiL#tUZ5W=a)&yF^A@fL(To#;S6_vFz z5DqY_rMq^tGDosxXIp!qT=ra(=;o%DCaotQXD@Yz|d%yqSmNiGKL+deT(5JOw2&Jwbd- z3Vo*bE2g0N#p-IxH60CEg9#58(a=f0n`}d85yrSSFV9>|($Nz!#cJ0Y*u=t6@i1EK zhDX8>6gbe!l5yeXTpje2PPQ^;1C|Jm$x+h4k8#%*YDzWs*SgIEFG{SfNjNo;ZZqjq z?z}3nPR0gOQq7QNEC{S!$kVtg?{wc4Jk=O6p_}65xU;CEHQdw^h(l+l;#j7Jbne{ z;H^Fk`E`x54+JpX5%kfBrcOc)?kvSj-Vz1ivDVpkb7EeP@dy7yM`g(N0D{`=j)n$= znxoNLPF(*339W&(!Xy3z8KSEnjs8iI`=~6?B*Q)hA~8lCm6${pb2B1sIvu75TdQdPXv)$o&VW*tjCs-*=(!jRmZZuJ9WVf;m=oZHG!i**GEg6-_Qq>^ik-z!knJlbyx!-6@kx#Qw5n$XGmi zhE}m`S@~?Y&pCOj`G8n*$}4X&)UucsM`@q|I=8vCwNUu({xzFd)7Lvh-GWX9}5DT4fVKF z9xnnNE_w}1qocKxaU8I=n(0jKEEE4rCjOglxEV{1$7oK;-*HkC7R&A0g>inncDLlG z@**21qG?8HF3JDgZ&snaENzLT!xL}Bm5mI|FY~MWvHOT5s64@$hqg7?dE%PhE})p{o_JAMs+WINi_da4ySq#P^mHQ~KN1ph8K;cCsF z4m6tZZ=3krOt`u~i4LplT2$_N_)~hS>k?MH%Oppw6_cE;Cj1-% zmqr-hu|emQ)~(I>Epok?^fBYxO>!1+PVsZZB*%>JF!4uB`~xO@g9+bf!lNd9zX|`Y z2_H1!SDWxdCYonn5a*uCaCLEUr;@ege zuC6`N!9EjyLY!OEZZY8}n(%%Teu@d-X2P#G;oD94LK8k_Wgl{+DUoqi3O!yWP zK48N0P553DuC4{s;e94tU85v?zX@MKfZPU6xVe8BCj6_48R;PteyRySV#04U;aa!O z6#1>#V^YiR78K#935b6k-8!d)pU!*YC%;?g9m3DxJ@KP=>%2qwWxOYT3cGdQA-sV1 z#7|MT&O3x(!h7PUv|HyL!UMb~e#*La-XZ)<-V;BrZk=}sKa2OokGEUr9m3D%J@K=w zTjw3Zzs-B%XL+~IJA@bVp7?3()_I5UOL(+UP@Fw09Keu%2yhHe8-V;Cl-8%0O9_Bsqv#nd_9m3D& zJ@K=>Tjw3Z=kcES+0m`@4&g<-Cw>OHb>1P|$$R2wZ@11ngwN+a@w2a6=N-b$^MU;) z+qkixYr~n--ORH z;kpT5Y{Cmo_(dkX$b_5cC#5F*ViSLv2`@9@E)#ya3HO@t*(Q9M39m5W%T0Kt32!vv zRVKX6gwHYIohH26gm;;6mkHl$!rdm^)$?|?E1Gq=N7r1N2f|s#{W$3A*_FLhFb$Wy zhC{<={vE%$rIX-JFhWBOU5X()>gF#R~uXAr%e=|_kzAiAIF`-rBYCf3LF-9*z6 z6YFC77et>;bQ{yR6HP-$Y&p|EAbKLvUZ!s(`W&Lmn7)Q+8X{svOm8H5645%->xn*( zXb02nL{rF*X-r>1G==oop-;H|iKdVp8)W(tqA66z_A$MP=qW@GFg=%O3c<1MOwT5o zLT{{}=?jRakQ?h`dJ54LYGYkYpF=c-*jO9WrxQ(6@z`>vPa>K^ZOqH`aYR#yjg>Jy zhUl3@7cred^o2z0On)>NG=tp(EqAAqHx|se2(G=ohZA{-zG=;X< za;ASkG=;R7m+2dco=bEY)7KC^kLV(%Hxlh3T4#Da(esIRFx^h{0-`n0uAW)js&$O@ zV|w-uAIg2W+A(xYwA#_@9gZw@Y#!K<6`Kny?d;1vbrZ56boS1g3jq{XjXugBopl=W zyL$7Ut)Qf25+B`_9lIMx8~VV1vf`)ufdAb&%zwM!|I|&=z`s%PAEWrGKHz^?@V5*8 zA;rH)@y8f}K3t#ZtQ!RXY{CD8;y+#SM+oW7qGYja;t^Nme_TCBa@OQwnD{1T#V~Qq z<->ywxu>EPFW=cf+hkMy-JHK+{A|Zg5c<%=3NIYG*JR&lbv`Nm6<72k zS7f&gqsQ=@D7C!4f_zpz??~%wp zbo>`xz2Smf!vnEHk0)#v^&aV+I~;L=Y3QYgs76NYLn<(@;2ceR@F@VU$R1bZQR8-k zqj@2!M6_fQC6R-MhngaKr49~P&%u1?Mg259MwHe{Due3;q(b<$Liq1706zF+LU@%B zeu5DG4D|qHI|#HdxxaGze~-Ai{STx4llpV{(()zci_2@vBk#fV-EY%#!yeS!>xx`e zknQgMR-@5`OlXbcsF3Ja&p_gde6V{{!7X6bTzfVZ^wADB=V74VS7^UPxdo%E9K^Xz zVUbM*JCFm-lTY||g=2q*+K)7o77q&_idGr$&`hrj4z!F4bJ?#pj2yI%C%Q^^9(IGl zgB;7@kHJ*qC$;dk*>X+ z=!WRHu1KjXigqSF&;d7%wo^d6qo9j`=nvU0o*9E{PIt}NpS$TX2zG6LrDH0B_&-pz zQ3~}`e{;|HYwo5$fCD;&JBY0fY`cl=SZb$<`(3@Y1s6LHqZg67p7)?#&nGr_WWd$y z%Fo@j(+260XDHA{UZr?dXymgOU=QBnnVI$O#W<9W4W6dz_lWj_wA%{M7mnh znQ%2axiKohANw6<*kU}+z1Lp8wJbmO0M0pxU(p^(BM$2*Qp??R9E2yw;@s;eBQ$e6 z8h`pH#GVQ=_tY*F1LMsyW^ukLDe`TBbjo*;v5E4n<-$Zhv?$|ie zCbCmlF)VXlb$yT-->4CTnIPqU2kv{nmOxwB2lHr+|75f4YFE* zB>P$&s-S#LkNcSmo(F4qq_dG9@-evn-7{H4qlk3U>srukWQZ&_2%ApztuZJvchhf3 zXKvvsVBu44R-FW^F=Oa9Ktn$qdJxWXKT1JW7CORT6BB+L0^0Q##Qp2CLy&SV$mr}N zy{_TN+#^G;n&-b_tb9^TQ+hWbBD{}SCFU!oknM?{w;G8nvJ^vA^&qT+(V^O)bWimm zCea;tS1$ug^?rA66|7Nx#Q5$(s>YRG=V9X-v8z``eo8Lpio9dI`7ZRipQ+wZwy_r+ znDuhAt>%dQUlIBD%@B$m zB9zy=E~c5Kx042|?+(z}Rqnk5bPiXhl`nPmR(r*q#~t~M+Hnu^AQBcAkV_XDbJ-S% z;pMxxbU|gCh}D?HdT9^iNoB#sw5O9iSMFCQ6Vn#7g}d%%YAAPffuqVf;EsMP z`$3?Z5#mP6y>2F`9>eB*1%7UGJv^A@j_etll$ei3t00qfIXLWfV1RP! z!}QE*0S7watti|Yvdf7B#bz7FprF_kkZgZpR4sNI0~EgtNl18pvVaZOQ)bfngY}Pe z&R427AO6-Ubkr4ji)MnWMabwZ>Dg&3pYdwP-xE2{QaO2Q)3d7(!V}hyy@_I2aaV71 zfy3BK++^3RX;2Xnav^DoX3@p_0fG6?smT^%zBYXyMjq zhmH+>yf*P7o#jP0pjq9KC*eTG792y%cAkmTWGqX-wO%uBCxZa1qf_TcW8_|)7gD3i zG2nDj(7h)o3`TW%g+xX3epL)RM@s^f0No5`q2CZ4@6CH%W+VNE_J~9K#G&7dLqo5N z_*=eYeq;{~qwdI46n;N_s0?{fe^2BIoPg3gasT6KT~OB6AP{=S=Xx17QMtLuA2m_rDL> zuE-Ls(llV;9yK%(>vPeoJ6*lw{~J2qhoi96VPhHe?isR$XFcSg^OBbgvcT08Cq*dl z1kiKj{qo4J@Bnq6uaMa8U8H%U69}tP2hfc@u(s#`B~z&boVfrAb%0ztJ7e=CIsht4 zqqMPzij_U!4H5uX)P=*n+3{60$%!N+TJr1^B#{H?0nb5yV~ALLW<3W~3!h>Ms*jO- zJB+n&!o43bg~g%QrLXJm$P2OzF{nF?m)QZ7ufM6_odm-Z#-cnoh9LNQ?xq3K;2V4d z9{s}59b7#cE8gxL6cFU9XKIO`-{|C9cD-iaoE-3EnC{yOmuGKN-E+uVJ=WUKJqN=(EYfU%#d#>@qG(_ee=h`!y z;sHvYt;@7fq#3M9we<5WCyao#q2s;+%TECZ2VYk-+qi{H5xtV)_WM|Cka7DBqaPI& zA^R+}3pg-%$dLW$Yup9G+c2HRH2#25&*nT}JV|NKE(Z^Uxu?ST)sCHs>1Lm@1ST)* z&VxR@mV)KzY99L$bb5exoJb;V)VxTW{w77j$TYuofn((Q@>61_@iv%;9!?Z!4$3bf zzp4BWC#5RiPURm<<#to0sVcJEec;!^U$YDW2=6q*2~)X`HT0Rw`y0v==eO@;VD1fK z^7S#zeZ<-A`b6=O5G;Gp6?xHkU~qW2GO`L|;~V6h7YP-x!pc}_KSpmkr#!NVv!~5)pKE*=y@L?@$}Zy zM3E+!vaQ59Hl0fupFv%UQ8c~15#=R%BW9Hos3I_6q10aZVb83skUFyco)vbS1c^ht z6H1!x`4R>#8U?duig^fTlRQ`@&Y7=dR~6w3CtAuX^#r3)e+3h`dmgnxdsyW&=xnS* zk@5LG&7eNUA_Rui3nyrBH@e*e=e|X*=<&$UmyqVR(J3(c!ljoF|BaXb6Z-O*aO5y| z`xk1EmBjUy%!e!zf>V$do*LNE*^Z|Idh^bpB=QcV5BFu$)MxVmDww-TECty;@(^7T z<5gPX#PV%r%;rC0BG&qrAR_R(x!tj$%qOPz*<0a;*1}4X3u@HV=qx zuTorvSVW+M#>*tJx8xhg%Sb@jZh=(;L*c5J*h7HTx?yydUzGC*Wjqb>#pn~cUIH+* zH_nH%XZX6k(~ygV>#4=BQ}I)*Bp_x!kB0aZmk6EDlGzbEUC~i)oXFF~l-%Jy7hB_> z)E<$8ZcNcbs08Mvm{bxM8`BFO>cFmup;X?wTz0A=M##f;tVW#%1?! z<>5Lf_djth9*bH_9UF#X5B?RdpLG2SR{spvF2aQzTAI0vrpVYcYF{Dqf|LtnC=}lJ z8MQFZB*BEm%$d0E0DF#u&5JITHAaTxVw>hGuGG$hj~g%;?^ zndtX@(YZ%@R}V+p!8G&|HP_4&W}8Uj4qySbN#WX3Ui<*cp#iYA`J8n zMZj^e%R_r%4dZq=U?rdF%L|srf|ch8I79#SSvvb1&Ute;@25^4r3mnbgS;&-avXJS zT%t)t09T|cJ9pE9IOn)yne!SeXV2By=ucHR^jzA|jUGS!I{K$rK+N`;0 z0kf(ochhHJ7M#-srza(6VeY2qX9w-Fh^ zIcd~RonHjT!qKFm^fX#I_@?ZCJ+n&B)M?S|5oELY*abX{W)>JPzC=xtSuj)xD-=SV z2gw=9f11&LV%-t4X}%>^L@=+}540x;ZBgJaXX1x)^CM59^Od?HSMR|1>4{Wr_e5J9!+k~U z0stdBX|$qy9T;LK9?0GFXISViu^jkg?BbLS`El|>nOpc8M#xc)P2&V+ZC!WuD&o zdp*5X1D?p=Jdu{Y#yRABy@CCgs_T1~^L&z&>CGFT17CU^1sbnI&Q&#oLX!FCrtAPs8L}wvG#otyChNZlW6LV(Kw;EX_nhDVX~EBou_XTxVmQ4lJdkf&2v)qw;xPw36tuj(Az1Lu>tx_1Z@f)5^{ z#twfKWxa#4gn52Qeu^>QIY7O4XCDn=*}NR=iacjL{XC5T9aCr(7v1J%=V9{xZ9s+B zzbxk6!+jiXAclo-eCW+PGaH5MCC|b*P>gbhZkD~Xqu7{0&1bQ>m`{xXr|~F$V)e2U z>>wS{3A&IcrT=66F?WF^*N?k&lJEbF)DjM_CpkA9etQask4s7N_yeSv@c8ZI@wf_l zh^}U^w^P@lZZQV_Mjk&OGjFTMzvhWtz1L_YG07gEh@Zmm>2-^u!G_T07G_jr8*GU= zpwaRin~LVW@0ozHb^oq!||bwaK|Bpm7T_XW@`qcc$ zF5%aOd~;4BqVR>C6j26CGvUb;!!a|Wjt&~V947+CcS+C0sg7wpU|GF+&mW^I{1JIu zf>pWDRO8QN32W8p5>w<6<56TXy1+2>eX7tS9DkEshIQf#VHjdh0dL2 z#sNhdYdARPQK-ixDuDo$1n>v!IJcET;;*+fCUtvh& zdtead^~&-Vf06R&KCzv~efv=2=2ybU(1eEKADx3HmEZU|MH>DMKSOka zW&DMN0R9OwB)S6I&w9Tl)cx2PEoyXW>|4)R{h8|XKAl4&EH(6OD8fW9!m%#v^pmkT z5k(~{@HY>aZ*hwnt)oS+MkMrR3Ca_ zCJ=tTijG&L1T?(7LT?R*^`=%m+}IS-SK*~!fo6^03335$4iXvY?M8xM(CYPodQ(uo zB!)BS^pY`pFC^Zg1aSe8MILGo=rUW1qrq0rYkEPM$VD%-A$HbPKwzaekm03+txfCW z$Jhk%_xJ(6-~xInU9c7Jbn2)J>+~8FuIL)P|EyjbOjL&6g46_bJrryTPSS%NVLjNO zlVx1~)_S~2G$i@I5$w?G{H=PhwRxS6cde-kiHe5Eh%Ft>;ik6cK!`+?IHzz<$`@)3 zb~M-Pq)`*z=%wSWkq}P$qaY97(1tc>5N*&B2!-&nOWohrhF9K&^l&h!xAGT>b z(xp}b?E$>83S||R6ctU>*W#s#Y>;5P?$^1ZXrQ_k`U-kO)Fd5h`9lF{N$={z&iwLa zK2(xk4;N-Vz3oA~ytM`O)5VL~RL%gsBBlawSewOs6;u^+tq@+30{_A*CPQJUsnctJ z(2(@@)k%7|eI04zU+HgZ+ursJs(w1e#01=OuqJ1mn}pcgtj;zt4NL?cRV!3Ip>_iT;SvW$V?T=Gr`b+KU1lA zcGdHF8nd>3>H|%|^Wi)d@*R6K=L%D_0-n7t91w4yB5VAw%1doimk#ag=Tt3C{RBM?nm!YV=rpL`@3}W>$Bjic(t&Ks|LSeFb%2yb2MSKyg=9Z=8w;8lj8s z@vjTCUw~GpR}kwgrooTsS+A*jR^qKoAgt9VSZ0f}vT!s>!fnNi@Tj5c11maKYHR)N zts1>@SL1%CEuh#X>cG{}Ji=uBVn~>~HPDVX{MGBs9hww3z8>T^>>(~tXo8oufXTmt z;+yF3Bj36tyZb zexw?1fXRMxc=!m?QjCg);A=!$hIBvDHl*2@BWy)lh_oN63u!hTM>=Q+j+v?>6FAZ$ zq@6fP*@`qDXW@I1(s}wI(rs8Qp(#Q3t2mBy2htr#8*wco8+zsA+Rieh%aC?bifeEK zD5nuAeP6^tnve39;ez9Gq(_kUBh5A-AN($)*{Ii6TykHAv=rC+2Y~NIx&w6f(D3j+ zq8`8Z<2aq;?06y5c6KN6BTabE@E;|ByQ2HV2ft0oh zBGGK?7iqRmhwbEXqqFIGiUQ!crPg;g5WdFY6MBjr95}{+$Esbv*heMCOJx`RC?%Grn#SFlQ{k+u#l= z|8d;0NBJ*Be$;sjwNa0~I;SY(Qqe@H{M@l@Zx8y81AdUo-nEeR9{%V!eKR0a7y4XJ z^|{VIJ4f%$oSjp6ZB}JY(Uwu=Ii)?Lt8=VBa*u$YzNM0RaZ>qJDcWIi&OUp_eQByi@}7j8Wr(>f z@7(`P9`%cxG7-~o`EUmI5l{MU%g5woyM+a*zW3nxejNXlj$7(Wj`*WZFU2(0QCtC^+DNVk_yF*e2!wqW%YO7W5{!gH<7i0Nc5}9aUPmaC_y#@mk8rVIyGAAECLv2kP)w38CZ$v)!Pj`;P zi({3*pN9&4!1rN4^L13(;+t@T%g5yC6>4OgJ$3^~#8cs_9Mh;?r$DcK%q{5K9+`iD z9M;WTuLY>rO^JHV74@QauSNdLkl%&5$g`x!PlX;M#*O)i`)*4-oHzCo3lfi81(0G7vEn-(N}pA<4HiJzpm5xEy>}lDujYA9{+CNA{Qmz8&DZ zp7^GN4|YvapR&~{l&ALkJDM*0?crgl72iniCURilJidMa=S=v(+#EeIyj71~27hqH zbs`}o_d?9c_F>u299Iah1@3}egvI!F3ig_TmjO>TJ{IHnwet85%9W%`#ug|bB941( zEjx^K$Xc-OLO#03{XNQ;$~LtKigRcHDO<#YX~tYw3R8&qjA0&xCQTu@ey3nA+4hg& z;d4o@+^BxVz_Ts&ro+Rx=Gn$i&YEwZm9^OZZ5y~YXc|wJ#If92S--d0-C4i3**`TO z9UitFd-7wpzuUCU8R$ZP%E-blK+glVtT)DMui3Jm8;?OQ>y~laA^Vwqq|8T7z- zykf(*me?j2(#+$ojI1~9_TOh@-D0;7X50qkhRkDsl%?IDnYA%X`!q8P`?qI7@_(Ke zYL7b$w-?<#EZfCde;EbCKQqdHN!E`? z*{`?#-u_CK{qd|tL!-3AqrePpuh!lkt)mSm+D@6c=F<$@L$<6xWZ3^^tHu618Ce_c zTCZJkBF;1Ki8jZnE!Wv>zqMrz*t938SV+1<$th@gF@uiXlwp6)HU;~SXJoySp}j#3 zz$IedqU3z7@dlgiUR%~9Hti`X=Q2K)XB+33aE@(Z)}>m5$XA&LpA^RnF0lEsR%vSl z{{)GTKSN(&3uSH4t`P-%GK%VZqAe%4WRa~StJ|hsD@)e2K^*(v+|>JA)%#o3`&!le zS=IYk)%#af*=1M#@9LrC{@;?qO?abs_tK_lde^R*e%M0OyMWEd>0Q3G<%mT4SkmJp zt-gDQYv{bG@A%{6Hc8d(+3NJiM z;7ZRnsThV5-c)(G#=-jY8S}oOjp=CxA|I9(m{#Qo^#9%8va9u!m7g|M zz;k4}M5YZgT_e*iGQC-*cgpl$neLY9i!yyfriW!Zs#uhBf=thn=`@+nk?9hdHpq01 zOt;ANW|`h8(|cvQTc$6{^bMIFmgy*Z^AxrdWO|lNr^$4VOqa;CL8fbDx<#fp%k)l} z-Ye7HGJR2|Z^-npOh-+V<;(OenNE}G9GNbWX@gAH$aITLZ+2NW<;o2tLBX-&SBYN%(LKmn!{~ zLGHCRhqcLcB}bc#FWBH0mrj~+EXeQbpB!lPHMIL%0=~w2l;`_~B>YX6ElWF%o!GUT$B{+6aX2nnJ*{7hygM1lA=fHt`<*wTV;Hzll?de4s0 zie6P=-RPbCYCJF>qxbHsaUdDb)YN#9jAv;o?k3}-#2fF-AolGT6;#|eAF^Y#QsYB1 zj?qBIkz{;~rl-X5z19?dW>4{5T#{$k65rKKmY<{TZ#E-h->&6q{jI5RhxT@7D*RYY zjoap`!okn9hZkrF<@rIqg zjj8xg9PvF>%4gTqtRo?X+$>XjcQ}EFJ(}Oxw2}3qc})f`$~brtBaw^FWeN9M@N$V; z=ch}7+wi^XeyP85_XfsC+PPQCQS)JtynP?PHhekT+Fm<=r>fWEY4H8PNq^;sXM?7V z?%3vfN&nw%VbcFLi~i>TPgU-Pz)6mpzgy+pZjp0&8aeBwoPIJOHnkSlFL8BV zV3j{$k^f{G`L9bk*6$CG!-SFaSLYj6`TH#LAtt3Ara+Dj{n4=WyE4W{`Ww|Tl|AX2 zfz9OqYCcMDc(tYIFW-{<%HK#XZPze9vY&oW^4}usrR4vX@sa)aKH#U5|I8F}uM>%O z5O}KZX=mF7Zv77S6p35E3%v}uoZ3stBKZOHCqYd7HVyu$lyCh``)EweQ^}tLob7LHSARSFK2wLRwmm8ZqM6Q61RR2 z{J}JG_NT%BnFc=&9W#|a(}4@kr6Mw^0Z#qY`W^LEEC=J-9KlG}?r7^%_yvM46p3~h zUDk^+|4-JQO2Kg*8J~&t4 zzmf(2K;lIW0#IwXe*u2FS zb~EE6ztjFR;M8CC%Kn08m3u;s^Z>12> zulyM}>A6hmsZ04m$v-IjsnUOo#I4`A-^IAhY)Vec5#62FA` zO#=!8G`Xz#XP}vMMPHhD{~^0^npfYyVvfoZ5X~jgUb1cF@)*`P*dN z-XUOZhmsQzz4XWnUjV;D*3JRoS&!RzdsHB3UIQg%i<3Qfje+sV?9qf%yKXf zpC=Sl{(oK`)eCXbC-7CWU$10bR>qWU1y1cdAltV^9{X_`{)f}x&!@rPOoI!+r~8fH!+SuRnC``5C4*JOlqc@jE3Fc0;m2p&@6CNhquRp zr?RJ3*B%aq@j2ni_~5y3Zp9*>$6ZtF^Wi?-c6=`xw0L#8PK{M@!2( zWHC`bS|LqhrJKTo$iz3|Pp)fg)5_^~@j19w_n7csAq$fFo9U;=r4a0n44U4QAey&6uR5!}YkI}1wQr+cTiBIfK##0miX51t0 z58*?v7Hgyv=bN*re14U$YC$F3MEH!@uUv{X=7z~W-^$KTUmMoHgRKx9UgukrkiBru zoSLdyUv2qpPZi~^onH}`R38fZ8u@V)O^L!M*DX&}_$t4#pnSf&g1+{vKDF*Frg|?4 zHr3DP``4=ypV}Vr#q|Z2Cy4N+?wU{&qJHSh7!p>6j z^E$Ye5b(FS>wr7!8vW>4?RcCe1b<|wtST$xkLrrA=TiM@g3Y0-rewG!(1H(uOAO!N zrH}5C=Y83)xhH=IT&i1QR(C~5!xz={XcQRn6>562D)Dqwat(!kGlY6gLD+1h5iRyR z8l6&n8k`>_OIGG+B!Aw=;;AQcbB9Y&H6JP&z*nf(B)7Zo5*+mL^AF^$DZeM}TiFt9 z6`yvdt~qxN;-84&70v!o2m$=)R8M?y9tGF_r*2)}?6ua7FM2_C%1>u6s7ctR*o}bz zUDhh#lA3UF9gLG~vlc{!VBLS-cn$P$S<<)8<=8TV9>7D>h67bCEplv0R)L~L>BvaR z-$g%~#z_8bJjI9*%z>gqmU4Y{oqit_>uj18cH@NT$W$^rd!- zcy}!Z)%X+vQJf|SwR|a(syqb&GXA_5oViJSa6R!foU@3Yp%YJ5CdW-{bVY6o&<*W@ zfK^eavndoWWsz462O0uxbD-72O&Y8Di&fvGsRADKYY(ndQ-$PuqYL6mz>a{lTl~}L zPU^pj+Nsapn-JN@6NqyvJ^2}kKaiEszqw_Rmjgm7&w)9<$oJ{F`O&Q~0I#>$?P%Pt zHL%wF(3%E2h{q?(%93nQyJP|8TPVEKzoKc4(>Wdc6ncE&b!}v{h9IJ}>8tQZqYFKp zh6#n$%Q%W2jXa*+HPGzQ;xXnHbvp4dY&nG!>g=Yr!jq*(6;+cOp8|SK!ZnCoVj}6u zUOYjkaU2?&-zt)r~9tpwjVJC8#$-5wk1LuMU3W9Ah61+B?gJ4=t7=Q z6Q0I1*+8nH0Y|^wJPbmRWvb7O!FVAa3va2`0K(D9|2GIYnAT6%(^4$?e8uyvSEoGtK9nS2NYu zoK(@tGa!75lb;Q?KC~PUw{Sgh)h@9%i?5+G6!u$2A27OW!ZXCZD|n1PsW>tZ4u1YD zubBF4l@}FB%vLe27PD2S5Anr3i$wg&J@iv5Js$`;@71ON6TrV0W7kNiM;47Rc?qMlv zD+WhQDAFiQ#!c>}Q=5Y;O=X8f-PKfTRbZW*1}3Y_eVfz?O~V+72eDI4)Tr~$@cG!v zJ`~f0JG-a}QN+kbN|=L6`nP?hqz>;xXs2j4g`*iF8hWHPn6Wvy{N%8XHy@xB#M@+B zP|5R>x*y(w@VO_8QxTX_xE!4zr|82Y&WS(>f^)k zUDudY&G?i~zC^?nC3sdR=Y|LgHNHSg8JGvezuX|3;+!INNaIe_ zz|$q!ALOcs>V4uwhECCvk8@D7x^94Pb4;pK3ClKBhv(m^BFoXV1`CG+j$9K<@?A5<3>RuEo1WupSWVXrcaJQQ@0POMW9FojP@iPpL*W zRI*kbts_m3MXI{CbqPhC7;mi=#I%Wr5c2f|CoN~CP>RoL6Pvo`(w6gyb`kC(6R zpH*oYuDjAk<&r3sUtL!&14gn{`RYDfm8$13z`~onETc%xg*|#ELgiQYESo zK9w#;etO12(ds!1l@7>~NPqfM`b$`=m$=HW?(bEpdags2ukx$76M_;ukI^WY5aj1nMqv_Rq3~^`AY?( zy8m+~Ihbiv`4qGXJLdA$b3ZD@6{Muis{b`Izp}r&ZmZHj+%Q6nwfq|``PF^TD%~ah zM=4<~zu%Hy-5;$|4>g);Q|+&yUtoudQ2ML;s8za89grEU<^Ksdb+NdA$?KrmSBVUT zGM`GUv-ukOn(lKHLtR{DA5CH+i+H0FPQ%&OMZ2qcbUx3!oj09Yx!^B z05!2HU)>L0cD2aikoHq{Q~8x290Z$Le|6uu7f*@Owp}FgUzJ~_@8O6!fBgRPE|I0r z(tawRO6fYeIlsCOy>Fw)uk;jDqW>$}j?5%W)n8rj?w9#xcU0`SCZ4=yBR`d2lnmp# zxd0|vaN?y+rF0L1Dw_|;pC@JhV-=&sEhNjyFlUtegFRwr@OY7a6$!meOxaDvKZ*~j S${+Zi$Tx`V%I3{l{{I2odbv^n literal 51820 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%0Defi?o7iFG4VuaUoYU1BWdXRp6D(?j=6Y% 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 DiBrFA diff --git a/artemis-native/compile-native.sh b/artemis-native/compile-native.sh index 7f89c955cf..22f4144bf5 100755 --- a/artemis-native/compile-native.sh +++ b/artemis-native/compile-native.sh @@ -15,4 +15,5 @@ # specific language governing permissions and limitations # under the License. -mvn install -Pnative-build +cmake . +make diff --git a/artemis-native/pom.xml b/artemis-native/pom.xml index 5b383c16eb..abd5f0de79 100644 --- a/artemis-native/pom.xml +++ b/artemis-native/pom.xml @@ -25,7 +25,7 @@ artemis-native - ${native-package-type} + jar org.apache.activemq @@ -86,49 +86,8 @@ - - - native-build - - nar - - - - - com.github.maven-nar - nar-maven-plugin - 3.0.0 - true - - - true - - - - - - - - - aio - - - - - - jni - org.apache.activemq.artemis.core.libaio - - - - - - - - - jar ${project.basedir}/.. diff --git a/artemis-native/src/main/c/CMakeLists.txt b/artemis-native/src/main/c/CMakeLists.txt new file mode 100644 index 0000000000..0a45fd6870 --- /dev/null +++ b/artemis-native/src/main/c/CMakeLists.txt @@ -0,0 +1,79 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) + +PROJECT(artemis-native) +SET(${PROJECT_NAME}_MAJOR_VERSION 1) +SET(${PROJECT_NAME}_MINOR_VERSION 0) +SET(${PROJECT_NAME}_PATCH_LEVEL 0) + +FIND_PACKAGE(Java) +FIND_PACKAGE(JNI) +if (JNI_FOUND) + message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}") + message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES}") +endif() + +# you may want to remove this next line for debugging +# -O3 would make inline debug hard +ADD_DEFINITIONS("-O3 -Wall") +#ADD_DEFINITIONS("-fdump-tree-all -Wall -pg -g -mstack-protector-guard=guard") + +find_library(LIBAIO NAMES aio) + +INCLUDE_DIRECTORIES(. ${JNI_INCLUDE_DIRS}) + +ADD_CUSTOM_COMMAND( + OUTPUT org_apache_activemq_artemis_core_libaio_Native.h + COMMAND javah -cp ../java/ org.apache.activemq.artemis.core.libaio.Native + DEPENDS ../java/org/apache/activemq/artemis/core/libaio/Native.java +) + +ADD_LIBRARY(artemis-native SHARED + AIOController.cpp + AIOController.h + AIOException.h + AsyncFile.cpp + AsyncFile.h + CallbackAdapter.h + JAIODatatypes.h + JavaUtilities.cpp + JavaUtilities.h + JNI_AsynchronousFileImpl.cpp + JNICallbackAdapter.cpp + JNICallbackAdapter.h + LockClass.h + Version.h + org_apache_activemq_artemis_core_libaio_Native.h) + +target_link_libraries(artemis-native aio) + +set_target_properties(artemis-native PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ../../../bin) + +# It is weird but this is how you are supposed to validate between 32 and 64 bits architecture +if (CMAKE_SIZEOF_VOID_P EQUAL 8) + set_target_properties(artemis-native PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ../../../bin + LIBRARY_OUTPUT_NAME artemis-native-64) + message("-- Setting up library as artemis-native-64 based on current architecture") +else() + set_target_properties(artemis-native PROPERTIES + LIBRARY_OUTPUT_DIRECTORY ../../../bin + LIBRARY_OUTPUT_NAME artemis-native-32) + message("-- Setting up library as artemis-native-32 based on current architecture") +endif()