The correct option is B uncompromising
Flexible means (of a person) ready and able to change so as to adapt to different circumstances. The opposite of flexible is uncompromising or showing an unwillingness to make concessions to others, especially by changing one's ways or opinions. Hence, Option B is correct. Among the rest of the options, weak means having little physical strength or energy, hostile means showing or feeling opposition or dislike, neutral means not supporting or helping either side in a conflict, disagreement, etc.These options do not express this antonym, hence incorrect.