Scott Bambrough scottb@xandros.com writes:
In the worst case this code will run through 9 tests searching for the ICU library. In the default case (no environment variables set) it will run through 4 tests at worst before giving up.
In your case, (assuming you have libicuuc.so and libicudata.so in /usr/lib) it will take two tests, as the code will test in /usr/local/lib first. In the unpatched version it would have taken 1 test. In my case it takes 4 tests.
I'm not so worried about the number of tests, but about the complexity of the code. You are turning a simple 10-line check in a 90-line monster, that's really too much for such an obscure feature that pretty much nobody uses. I'd suggest something along these lines:
for i in ${ICU_LIB_DIR-/usr/lib}/libicu \ ${ICU_LIB_DIR-/usr/lib}/libsicu do LIBS="${i}uc.a ${i}data.a $LIBS" AC_TRY_LINK etc. done
You can add /usr/local/lib to the mix if you like, but I don't think that's really necessary.