[ROM][4.4.4][KTU84Q] SlimKat - i777 [UNOFFICIAL]

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
@TheGeekyNimrod, @rogersb11,

Regarding my intitial question of what calls the toolchain variable that is sometimes defined in the boardconfig.mk, I finally found what I was looking for.

Using Carbon's github as an example;

https://github.com/CarbonDev/android_build/blob/kk/envsetup.sh#L155
envsetup.sh (of the android_build project) shows us that the build process for an arm device (our beloved S2) will use whatever toolchain files are located at
"arm/arm-linux-androideabi-$targetgccversion/bin"

https://github.com/CarbonDev/android_build/blob/kk/envsetup.sh#L146
a few lines earlier, "$targetgccversion" is instructed to use build variable
"TARGET_GCC_VERSION" from a linux-arm.mk file (also located in the build project).

https://github.com/CarbonDev/androi...454fc47a6a/core/combo/TARGET_linux-arm.mk#L37
The linux-arm.mk defines "TARGET_GCC_VERSION" as 4.7 unless "TARGET_GCC_VERSION_EXP" is defined in the device config.mk (where this all started)

^^So If I ammend the device config.mk to include
TARGET_GCC_VERSION_EXP := Q4CW
then the build sequence will look for the toolchain files at
"arm/arm-linux-androideabi-Q4CW/bin"

So when adding the toolchain project to the manifest, the path should match.
:feeling accomplished:
 

rogersb11

Senior Member
Nov 18, 2013
3,345
6,888
0
Indianapolis
@TheGeekyNimrod, @rogersb11,

Regarding my intitial question of what calls the toolchain variable that is sometimes defined in the boardconfig.mk, I finally found what I was looking for.

Using Carbon's github as an example;

https://github.com/CarbonDev/android_build/blob/kk/envsetup.sh#L155
envsetup.sh (of the android_build project) shows us that the build process for an arm device (our beloved S2) will use whatever toolchain files are located at
"arm/arm-linux-androideabi-$targetgccversion/bin"

https://github.com/CarbonDev/android_build/blob/kk/envsetup.sh#L146
a few lines earlier, "$targetgccversion" is instructed to use build variable
"TARGET_GCC_VERSION" from a linux-arm.mk file (also located in the build project).

https://github.com/CarbonDev/androi...454fc47a6a/core/combo/TARGET_linux-arm.mk#L37
The linux-arm.mk defines "TARGET_GCC_VERSION" as 4.7 unless "TARGET_GCC_VERSION_EXP" is defined in the device config.mk (where this all started)

^^So If I ammend the device config.mk to include
TARGET_GCC_VERSION_EXP := Q4CW
then the build sequence will look for the toolchain files at
"arm/arm-linux-androideabi-Q4CW/bin"

So when adding the toolchain project to the manifest, the path should match.
:feeling accomplished:
Awesome work. This is EXACTLY what i meant to show you. That's my bad for sure. Call log had me flustered and I've been so focused on that I completely for. I'm sorry but on the bright side I'm sure you learned more than just the toolchain path and call m=by digging around. Awesome job @cyril279
 
  • Like
Reactions: cyril279

TheGeekyNimrod

Senior Member
Jun 18, 2013
1,181
1,696
0
Virginia
thisisjohnnyt.com
At some point, I'll get the time to get around to thoroughly going through things and learning exactly what they do and why. Something I started out wanting to do, but have found myself without a lot of time to do so. That was definitely one of those things.
 

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
You ever had this error before? all of the sudden adding threads give me this crap

[email protected]:~/android/custom$ brunch i777 -j12
including vendor/cm/vendorsetup.sh

Invalid lunch combo: cm_i777--j12

and yes there is a space there
I don't use brunch anymore, I've definitely never asked it to brunch threads... Doesn't brunch use "mka bacon?"
The variable that follows brunch defines the device, so it's trying to find an i777-j12 in the lunch list, which will definitely return "invalid lunch combo"
 
  • Like
Reactions: mr-cook

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
@rogersb11,

lunch, as described in CM's envsetup.sh:
[ - lunch: lunch <product_name>-<build_variant> ]
so whether [ breakfast i777 -j12 | brunch i777 -j12 | lunch i777 -j12 ] the script is treating the "-j12" as a build variant of the i777.

I typically spec the number of threads after lunching, during make
[ make -j12 bacon ]
or they could be combined as
[ lunch cm_i777-userdbeug && make -j12 bacon ]

Unless building for AOSPAL or SlimSaber, who both use scripts, so the sync/lunch/make commands are combined, and look completely different.
 
  • Like
Reactions: rogersb11

TheGeekyNimrod

Senior Member
Jun 18, 2013
1,181
1,696
0
Virginia
thisisjohnnyt.com
You ever had this error before? all of the sudden adding threads give me this crap

[email protected]:~/android/custom$ brunch i777 -j12
including vendor/cm/vendorsetup.sh

Invalid lunch combo: cm_i777--j12

and yes there is a space there
I had that with a ROM I am working with right now. LS is great for putting it within a bunch of scripts where I choose options and it does the rest. This new ROM I have to run envsetup.sh then "lunch full_i777-userdebug" or whatever build version. Then "make i777-userdebug j#" ... Completely different from what I'm used to at this point.

Sent from my SAMSUNG-SGH-I747
 

rogersb11

Senior Member
Nov 18, 2013
3,345
6,888
0
Indianapolis
I don't use brunch anymore, I've definitely never asked it to brunch threads... Doesn't brunch use "mka bacon?"
The variable that follows brunch defines the device, so it's trying to find an i777-j12 in the lunch list, which will definitely return "invalid lunch combo"
OK, I'll use the make bacon command BUT this is how ice l I've always done it. Just strange it always worked until few days ago. Thanks for the response. Build is entirely too slow if I don't add threads lol
 

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
<< Weekly build 8.2 (& md5) >>

Features:
  • Heads up color and transparency
  • Moved heads up to settings to Interface
  • New Bluetooth stack for caf branch
  • frameworks/base updates aosp caf
  • packages/apps/Settings updates aosp caf
  • libhardware updates
  • build updates
  • packages/apps/Camera2 updates
  • hardware_qcom_fm updates
  • frameworks/av updates aosp caf
  • frameworks/native updates
  • hardware_qcom_audio-caf updates
  • hardware_libhardware_legacy updates
  • system_core updates
  • hardware_qcom_display-caf-new updates
  • hardware_qcom_media-caf-new updates
  • hardware_samsung updates
  • apn updates
  • more translations

http://slimroms.net/
Changelog: (same as I9100)
 

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
<< Weekly build 8.4 (& md5) >>

Hey guys time for a new weekly. Not a many changes for rom wide features, but a lot of work to device specifics.

Changelog:
  • Frameworks_base: Update ringtons, notification sounds and alarms
  • Frameworks_av caf: MatroskaExtractor: Letting the error be correctly handled
  • Translations Updates
  • Updates for APN's and SPN's
http://slimroms.net/
Changelog: (same as I9100)
 

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
<< Weekly build 8.6.1 (& md5) >>

Features:
  • frameworks/base updates aosp caf
  • frameworks/av updates aosp caf
  • frameworks/native updates
  • hardware_qcom_audio-caf updates
  • hardware_qcom_display-caf-new updates
  • hardware_libhardware_legacy updates
  • hardware_samsung updates
  • external_stagefright-plugins updates
  • external_libnfc-nci updates "fixes NFC for some HLTE and Bacon devices"
  • hardware_qcom_media-caf updates
  • hardware_qcom_display-caf updates
http://slimroms.net/
Changelog: (same as I9100)
 

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
<< Weekly build 8.8 (& md5) >>

Features:
  • Slim Launcher “Please note this is a brand new and in early stages more to come”
  • Smart Cover Support for HLTE
  • Proximity Wake: Add support for checking proximity when waking device “for select devices “LG G2,Bacon, and M8 more to come….
  • wpa_supplicant_8 updates
  • hardware_qcom_bt updates
  • openssl updates
  • bluetooth_bluedroid updates
  • package_apps_Bluetooth updates
  • hardware_libhardware updates
  • package_apps_BluetoothExt updates
  • hardware_qcom_fm updates
  • frameworks/av updates aosp caf
  • Superuser updates
  • hardware_qcom_audio-caf updates
  • frameworks/base updates aosp caf
http://slimroms.net/
Changelog: (same as I9100)
 

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
Throwing a toolchain into the manifest is one thing, but the flags matter, no?

how about these?:
Code:
TARGET_USE_O3 := true
STRICT_ALIASING := true
SUPPRES_UNUSED_WARNING := true
OPT_MEMORY := true
Do you have/use other specific flags? or are these default settings in your toolchain?

I'd just go for it man, these are your builds, make them your own and however you want them. They'll be awesome and if you need any help with anything just let me know. I uploaded the linaro I use in the kernel. Custom build, patches already done and specific to cortex-a9 for this device. Believe my SM is optimized for the device as well even tho it's slightly older it's still 4.8. Been experimenting with 4.10
 

rogersb11

Senior Member
Nov 18, 2013
3,345
6,888
0
Indianapolis
Throwing a toolchain into the manifest is one thing, but the flags matter, no?

how about these?:
Code:
TARGET_USE_O3 := true
STRICT_ALIASING := true
SUPPRES_UNUSED_WARNING := true
OPT_MEMORY := true
Do you have/use other specific flags? or are these default settings in your toolchain?
Yea they matter. Watch for a pm and I'll just give you a copy of my make file. The flags are used by what you've shown here but which flags to actually use are defined in another location

Sent from my GT-N7105 using XDA Premium 4 mobile app
 

TheGeekyNimrod

Senior Member
Jun 18, 2013
1,181
1,696
0
Virginia
thisisjohnnyt.com
Yea they matter. Watch for a pm and I'll just give you a copy of my make file. The flags are used by what you've shown here but which flags to actually use are defined in another location

Sent from my GT-N7105 using XDA Premium 4 mobile app
Is your make file and the SM you use in your github repo? I'll be hitting you up on G+ soon to discuss tweaking. Just gotta get through a few days first.

Sent from my SAMSUNG-SGH-I747
 

cyril279

Senior Member
Jun 3, 2013
987
2,077
0
...Watch for a pm and I'll just give you a copy of my make file. The flags are used by what you've shown here but which flags to actually use are defined in another location
...they are defined in another location within the same makefile? or in a different file?
 

rogersb11

Senior Member
Nov 18, 2013
3,345
6,888
0
Indianapolis
...they are defined in another location within the same makefile? or in a different file?
Well see this is where it gets tricky man. Start with the same makefile. You actually can define flags in pretty much every single makefile but it's hard to determine what could be making your build wonky that way. Mine that I keep pushed are stable, I don't even push experimental stuff until I know it's going to work. Sorry, I've been packing and started moving today and have been swamped. I'm about done got the day and my net got hooked up already woot woot lol. I'll pull my makefile and highlight where the flags you want are and then you can basically just copy and paste it

Sent from my SGH-I317 using XDA Premium 4 mobile app

Edit: This is actually good timing as I just messed with some flag type stuff the other day. Look closely at these 2 commits but mainly pay attention the the make file of course. You don't need to do the optimize alot stuff unless you want to as it can cause some build failures if the source isn't clean enought in certain places

https://github.com/rogersb11/Shift/commit/0c7af5dd0556fd49953244269913bdad2f8c07e9

https://github.com/rogersb11/Shift/commit/859cec419c4f78e9f9e9ce0eefcf6a56032000e4

also look here for defining a specific toolchain https://github.com/rogersb11/Shift/blob/master/Makefile#L196

and here for the flags themselves, follow it down a couple lines. You'll be able to tell
https://github.com/rogersb11/Shift/blob/master/Makefile#L372
 
Last edited:
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone